AI审查PR:先用硬规则,再要求行级证据
MergeJudge先通过确定性规则检查密钥、保护路径和被移除的CI安全措施,再要求AI引用差异中的具体行才能上调风险等级。PR被分为自动、人工审查或阻断通道,工具本身不执行合并,仍依赖分支保护和必需检查。
原文暂未完整获取,基于公开信息的快读
MergeJudge 给 GitHub PR 安全审查设了两道门槛:先用确定性规则拦截密钥、受保护路径和被移除的 CI 安全措施,再让 AI 检查安全风险。对于额外安全审查中的发现,模型需要引用 diff 中可核验的具体代码行,才能据此提高 PR 的风险等级。
目前能确认什么
根据现有节选,MergeJudge 是面向 GitHub 的 AI PR 审查工具,拥有开源引擎。它把 PR 分为 auto、review、block 三个通道。规则先划定最低等级,AI 只能上调,不能降低。
规则检查不需要调用模型。新增代码命中常见密钥格式会进入 block;受保护路径至少需要人工审查;涉及这些路径的变更如果移除了指定安全措施,也会进入 block。
配置来自目标分支的最新提交,因此 PR 无法通过修改自身的 .mergejudge.yml,关闭对自己的检查。
额外的 Security review mode 默认关闭,需要设置 review.security: true。其中,模型引用的代码行经 diff 核验后,相关发现可将 PR 提升至 review;依赖 diff 外部代码、尚待验证的疑点则保留提示,不改变通道,但会关闭该 PR 的低风险自动放行选项。
auto 只代表低风险,不代表安全保证。
工具本身不执行合并,最终约束仍依赖分支保护和必需检查。
我的判断
我更看重它把「确定违规」「有代码证据的发现」「待验证疑点」分开处理。程序员可以据此决定先修规则命中项,还是补查上游鉴权等上下文,减少逐条排查猜测性告警的负担。
但引用准确,只能证明代码确实存在,不能证明漏洞判断正确。鉴权中间件、输入校验可能位于其他文件,单看 diff 容易遗漏。
现有材料没有给出误报率或漏报率,也没完整列出额外安全模式的五项标准。因此,目前可以参考这套审查机制,还不能据此认定它已经有效降低误报。