Cloudflare 把内部漏洞挖掘框架开源了:一个 6 阶段、可独立验证的 AI 安全审计 Skill
github.com/cloudflare/security-audit-skill · 许可 MIT
先给判断:如果你指望让通用 Agent 加一句 "帮我 review 下安全" 就能放心合代码,多半会翻车——覆盖不全、行号飘、质量随提示词乱跳。Cloudflare 刚把内部跑了很久的漏洞挖掘框架抽成一个公开 Skill:security-audit。它的核心不是 "让模型多写点建议",而是用确定性的工程管线把审计过程框死,再用 Agent 做动态决策。
一、这个项目是做什么的
security-audit 是一个 coding-agent skill,把你的编码 Agent 直接变成安全审计员。它编排一组互相隔离的子 Agent,走六个阶段:侦察(画出架构、信任边界、输入面) → 覆盖驱动的猎杀 → 候选验证 → 结构化输出 → 独立记录验证 → 目标中立的报告。它不是一段提示词模板,而是带校验器的完整流水线,源自 Cloudflare 内部那篇《Build your own vulnerability harness》体系——后来长成多阶段、全集群的系统,这个仓库是它演化出来的单仓起点。
一句话定位:把 “AI 随口说两句” 升级成 “可审计、可回归、可进流水线” 的漏洞证据链。
二、怎么用
安装(命令逐字取自 README):
npx skills add https://github.com/cloudflare/security-audit-skill \ --skill security-audit
全局安装加 --global。装完后,让你的编码 Agent 站在(或指向)要审计的代码库里,直接说自然语言触发:
security audit this codebase find security vulnerabilities in ./src do a security review, output to ~/audits/my-project
命中触发词会自动激活;全量审计默认写到 ~/security-audit-skill/<repo-name>/run-<N>。
三、有什么优点
· 确定性工程兜底:文件选择、文件捆绑、细粒度规则匹配由代码保证,不靠模型 “自觉”,大改动集下也稳定,不会像纯提示词 Skill 那样随提示词小幅波动就质量乱跳。
· 对抗式验证:查到问题的 Agent 绝不做验证,验证交给全新 Agent 去证伪——减少自圆其说。
· 机器可读产出:confirmed / needs_validation / rejected 三态写进 findings.json,配零依赖的 JSON Schema 校验器,能直接进 CI。
· 多轮累加:重复跑会针对历史缺口补覆盖;官方测试里单次跑大约只发现重复跑总漏洞数的一半。
四、有什么缺点 / 坑
· 硬门槛高:需要支持工具调用 + 并行子 Agent 的模型;需要 Node.js 跑校验器;要在 OS 级沙箱里跑目标代码(禁外网、限资源、只写指定 scratch)。没有沙箱,工作流会把待执行项停在 needs_validation 而不是真去跑——这是设计使然。真实 issue #11 反映:某些 Agent(如 Antigravity)会杀掉并行子 Agent,直接让它跑不起来。
· 覆盖天生不全:单次只覆盖约一半漏洞,得多跑几轮;且它只确认 “已建立的边界失效”,防御纵深缺口只记为加固建议,不报漏洞。
· 用户也想要直接命令:issue #5 有人呼吁提供显式 CLI 命令,而不只是自然语言触发。
· 定位是辅助审计,不是替代人工安全评审或专业渗透;needs_validation 项仍要人来拍板。
五、最终能达到什么效果
对一个中等规模代码库,它能产出带源码溯源、可独立复验、按严重度分级的结构化报告(REPORT.md / FINDINGS-DETAIL.md / NEEDS-VALIDATION.md),把 “Agent 随口说两句” 升级成 “可审计、可回归、可进流水线” 的漏洞证据链。适合想给 CI 加一道 AI 安全门、又不愿盲信单一 Agent 输出的团队。
适合谁 / 不适合谁 / 坑
· 适合谁:已有 coding agent、想给自有代码库加自动化安全审计、能接受沙箱与多轮运行的团队。
· 不适合谁:只想装个插件就 “全自动安全无忧” 的个人或小团队;没有沙箱环境、或不希望 Agent 跑目标代码的一方。
· 一句话坑:务必配 OS 沙箱,否则它不会真的执行目标代码;单次跑只覆盖一半,记得多跑几轮再下结论。
下期预告:下一期看 jamiepine/voicebox——本地优先的开源 AI 语音工作室,克隆 / 听写 / 创作一体,可让你的 Agent 用指定声音说话。