pr-reviewer

🔍 自动化 PR 代码审查与安全扫描

自动化 GitHub PR 代码审查工具,支持 diff 分析、安全检查、代码风格检测与结构化报告生成,适用于 Go/Python/JS/TS 项目。

收藏
31.2k
安装
6.5k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

PR Reviewer 是一款面向 GitHub 仓库的自动化代码审查 CLI 工具,通过 gh CLI 与 GitHub API 交互,实现对 Pull Request 的智能分析。主要工作流包括:

1. 批量审查check 命令扫描所有未审查 PR,生成结构化报告
2. 定向审查review <PR#> 对特定 PR 进行深度分析

3. 结果发布post <PR#> 将审查结果以评论形式同步至 GitHub

4. 状态追踪:基于 HEAD SHA 智能识别变更,避免重复审查

工具内置六大检测维度:安全漏洞(硬编码密钥)、错误处理(遗漏异常捕获)、风险代码(panic/exit 调用)、代码风格(调试语句残留)、TODO 标记、测试覆盖率关联分析。支持通过正则模式扩展自定义规则。

显著优点

  • 多语言覆盖:原生支持 Go、Python、JavaScript/TypeScript,通过模式扩展可适配其他语言
  • 智能增量审查:基于 Git SHA 的状态追踪机制,显著降低 CI 资源消耗
  • 集成友好:标准输出 Markdown 报告,易于接入 Slack/钉钉等通知渠道;支持 list-unreviewed 输出用于 Cron/Heartbeat 集成
  • 本地化增强:可选对接 golangci-lintruff 等本地 linter,弥补纯 diff 分析的局限

潜在缺点与局限性

  • 依赖 gh CLI:必须使用 GitHub 官方 CLI 且完成认证,对 GitLab/Codeup 等平台无原生支持
  • 静态模式局限:基于正则的模式匹配无法替代语义级分析(如函数调用链追踪),可能产生误报或漏报复杂安全漏洞
  • 测试覆盖检测粗糙:仅通过文件路径匹配判断「源码变更是否伴随测试变更」,无法识别实际测试逻辑是否覆盖修改点
  • 无自动修复:仅生成报告,不提供代码建议或自动 PR 修复

适合人群

  • 中小型团队需低成本建立 Code Review 门禁机制
  • 开源维护者管理多 PR 涌入时的批量初筛
  • 已将 gh CLI 纳入工作流的 GitHub 重度用户
  • 需要在 CI pipeline 中集成轻量级安全扫描的场景

常规风险

  • Token 权限风险gh CLI 的认证令牌需具备仓库写权限方可发布评论,存在令牌泄露导致的越权操作风险
  • 误报干扰:正则匹配可能将注释中的示例代码标记为安全问题,需人工复核
  • 状态文件管理:默认使用本地 JSON 文件追踪审查状态,多机部署时需额外配置共享存储,否则状态漂移

pr-reviewer 内容

暂无文件树

手动下载zip · 8.0 kB
contentapplication/octet-stream
请选择文件