用途:在合并前对一次代码变更做对抗式安全审查,适用于分支 diff、PR 或工作区改动。用户要求“审查这段代码的安全性”等场景时使用。
主要能力:先界定审查范围——分支用 git diff <base>...HEAD,PR 用 gh pr diff <n>,工作区用 git diff,并读取足够的上下文,不孤立审查单个 hunk。变更较大时按信任边界拆分(认证、输入解析、密钥、CI/执行、文件 I/O),再进行去重,避免单次通读遗漏横切问题。
重点排查:注入(不可信输入如用户数据、github.event.*、PR 标题/分支名、文件内容、工具输出、依赖变更日志流入 shell、eval、SQL、YAML 或 LLM 指令上下文,需追踪从源到汇并引用两端);路径穿越与符号链接(写出根目录之外、检查与写入之间的 TOCTOU、跟随符号链接、配置字段带入绝对路径);密钥(被回显、写入成为产物的文件、通过命令行传递而暴露于进程表、权限过宽或跨 CI 任务泄漏);权限(CI 在特权/自托管 runner 上运行不可信 fork 代码、缺少最小权限 permissions:、第三方 action 或工具安装未固定版本);fail-open(出错时静默放行的守卫、吞掉真实失败的 || true、输入缺失时变成空操作的检查)。
验证与报告:每个候选发现需说明触发它的确切输入/状态及导致的错误行为;若附近已有检查可阻止,则丢弃该发现并说明;不确定时默认按“已驳回”处理。报告按严重程度排序,给出 file:line、级别(critical/high/medium/low)、具体利用或失败场景及建议修复,并附简短的“已确认的防御”列表;若没有通过验证的发现,直接说明。对高风险变更可仅提供 diff(不给实现上下文)交给独立 agent 做全新视角审查。
限制:资料未提供支持的代码托管平台清单、语言范围、定价或安装步骤。