SuperAPI AI 工具集

reviewdog

安全与审计

查看项目

更新于 10-15 16:42

技能介绍

用途:reviewdog 充当安全扫描器、代码检查工具与代码托管平台之间的通用适配层,把 SAST、密钥检测、IaC 检查、容器检查等工具的发现结果,以内联审查评论的形式发布到 PR/MR 的对应代码行上,用于在代码审查阶段提供安全反馈。

主要能力:聚合多个安全与质量工具的发现结果;在具体代码行发布内联评论;开箱支持 40 多种 linter 与安全扫描器;集成 GitHub Actions、GitLab CI、CircleCI 等 CI 平台;支持 fail-on-diff 模式,仅显示 diff 中的新增问题;支持自定义规则集与安全策略。常见集成工具包括 Semgrep、Bandit、ESLint、Brakeman(SAST),Gitleaks、TruffleHog、detect-secrets(密钥检测),Checkov、tfsec、terrascan(IaC),Hadolint、Trivy、Dockle(容器),以及 ShellCheck、yamllint、markdownlint 等通用 linter。

使用方式:安装可用 go install github.com/reviewdog/reviewdog/cmd/reviewdog@latest、brew install reviewdog 或 docker pull reviewdog/reviewdog:latest。典型用法是将扫描器输出以管道传入 reviewdog,例如 bandit -r . -f json | reviewdog -f=bandit -reporter=github-pr-review,或用 semgrep --config=auto --json | reviewdog -f=semgrep -reporter=local。在 CI 中需通过 REVIEWDOG_GITHUB_API_TOKEN 或 GITHUB_TOKEN 提供令牌,常用参数包括 -reporter、-filter-mode=added|diff_context、-fail-on-error、-level 等。可通过 .reviewdog.yml 配置多个 runner。

适用场景:PR/MR 自动化安全审查、pre-commit 本地快速反馈、主干保护(阻止含安全问题的合并)、安全仪表盘聚合发现。

限制与注意事项:令牌应存于密钥管理,禁止提交到版本库,使用最小必要权限并定期轮换;应仅在可信分支运行,限制可修改 .reviewdog.yml 的人员;对大型仓库可能需限制扫描范围或缓存依赖以缓解性能问题;自定义工具需转换为 checkstyle、sarif、rdjson、rdjsonl 等受支持格式。资料未提供具体收费与价格信息。