Claude Code 上跑安全审计?这套多 Agent 框架把 SAST 工具按在地上摩擦
安全审计这事,传统 SAST 工具我一直不太信。规则匹配 Sink 听起来很美,实际跑下来一半是误报,另一半漏掉业务逻辑漏洞。前段时间 GitHubDaily 推荐了一个叫 Code-Audit-Agents 的项目,思路完全不一样——它不跑 checklist,而是让多个 Claude Agent 模拟「30 年经验的安全研究员」去读代码、理解意图、找开发者的认知盲区。
这个 Skill 是给 Claude Code 用的,装上之后能直接对项目发起一次「深度安全审计」。支持 9 种语言(Java/Python/Go/PHP/JS/C++/C#/Ruby/Rust),5 个主流框架还做了专项(Spring、Django/Flask/FastAPI、Express/NestJS、Laravel、Gin/Echo)。一句话触发,输出结构化报告,听起来有点玄乎,但看了它的设计文档我有点服气。
为什么说它是「框架」而不是「扫描器」
我把它当成 Skill 是低估了,本质是个多 Agent 状态机框架。审计流程跑 4 个阶段:
- PHASE_1_RECON:自动建模攻击面,按攻击面特征而不是维度编号智能切分 Agent
- ROUND_N_RUNNING:每个 Agent 先自主审计(Phase 2A),再加载 checklist 自检补漏(Phase 2B)
- ROUND_N_EVALUATION:评估这一轮结果质量
- REPORT:汇总输出 + 决定是否进入下一轮
每轮之间还会传递结构,避免重复搜索;R2 会专门去挖 R1 的热点。三问法则决策收敛——「有没有未覆盖的攻击面?上轮的置信度够不够?是否有新假设需要验证?」——答否就停,不会无限循环跑空。
8 大审计方法,比规则匹配高一个维度
最让我觉得有东西的是它的审计方法论体系:
- 逆向资产追踪:从高价值目标逆向追,比正向扫描高效 10 倍
- 深度变体分析:从 CVE 提取「思维错误」而非「代码模式」,在新代码里找同类盲区
- 信任边界深度分析:深入理解每条边界上的数据变换和验证差异
- 语义差异挖掘:同一数据在不同层的理解差异——0day 最肥沃的土壤,作者原话
- 时序与并发深度分析:静态审计最容易漏的竞态和时序问题
还有 L1-L6 六级防护层感知——命中 Sink 后先检查框架是否已经自动防护(参数化?输入校验?WAF?架构隔离?),有效就直接 CLEAN 跳过,宁可漏报不误报。置信度分四级(已验证/高/中/需验证),Critical/High 必须 ≥ [高置信]。这条对工程团队太重要了,没人想被一堆 false positive 淹没。
实战感受
部署就一行命令:cp -r code-audit-agents ~/.claude/skills/code-audit。然后在任何项目里跟 Claude Code 说「深度审计这个项目」就开始跑。我在一个 Spring 项目上试过一次,输出不是简单的 CVE 列表,而是带「攻击链构建」——单个漏洞不够严重就组合成端到端链。这种「理解业务意图后找漏洞」的思路,正是传统 SAST 一直做不到的。
52 stars 的小项目,思路却顶得上一个商业扫描器的核心模块。对做后端、做框架、做安全工具的开发者来说,这套审计思维值得专门花一周去读一遍它的 prompt 设计——你会发现 Agent 不只是「写代码的工具」,它完全可以是「懂你代码的同事」。
👉 GitHub:wj-wyt/code-audit-agents
评论区
登录后可评论。