zovo.imzovo.im
首页›开源项目›正文

Cloudflare 把自家找漏洞的流程开源了,一条“帮我做安全审计”就能让 AI 分头查代码

zovo约 3 分钟读完
给自己的项目做一次安全检查,通常要请人,或者买扫描服务。Cloudflare 把内部找漏洞那套流程的起点放到了 GitHub:一个给编码 AI(如 Claude Code)用的“技能包”,你对 AI 说一句“security audit this codebase”,它就会派出几个互相隔离的 AI 分头查,再让另一批 AI 来推翻结论。仓库已有约 6.6 万星、4300 个 fork。

先说“技能包”是什么:它其实是一组 Markdown 说明书加几个小脚本,放进编码 AI 的技能目录后,AI 遇到匹配的请求就会照着说明书干活。这个仓库的说明书,是 Cloudflare 官方博客《Build your own vulnerability harness》里那套漏洞发现系统的“单仓库起点版”,后来内部系统扩成了跨很多仓库的流水线,这里留的是最初那一版。

01六步,核心是“查的人不负责验”

  1. 摸底:AI 先把项目结构、哪里接收外部输入、哪些地方是信任边界画出来,写进 architecture.md,再列一张“覆盖清单”,记录哪些模块查过、哪些没查。
  2. 分头找:按清单把模块分给相互隔离的“猎手”AI,查完要记录查了什么,另有“评审”AI 专门找漏掉的地方。
  3. 逐个推翻:每个疑点交给一个全新的 AI,任务是想办法证明它不成立。
  4. 写成结构化结果:分成“确认”“待验证”“已驳回”三类,存进 findings.json,并用附带的 schema 校验格式。
  5. 再核对一遍:新的 AI 回到源码,核对结论里引用的每一处代码是否属实。
  6. 出报告:从已核实的记录生成 REPORT.md 等文档。

README 对三类结果的定义很严:只有“完整追踪了代码路径、并有可观察后果”的才算确认;缺一个关键事实的只能算待验证,而且不给严重等级。它还特意写明,“少了一层防护”不等于漏洞,上一层已经挡住攻击的话,只算加固建议。这样做的目的,是少出一堆看着吓人、其实打不起来的误报。

02装好以后怎么叫它

官方用 Skills CLI 安装(需要 Node.js):

bash
npx skills add https://github.com/cloudflare/security-audit-skill \
  --skill security-audit
# 想装成用户级、所有项目通用,加 --global

之后在要审计的代码目录里启动你的编码 AI,直接说“security audit this codebase”或“find security vulnerabilities in ./src”即可,也可以指定报告输出目录。不指定的话,默认写到 ~/security-audit-skill/<仓库名>/run-<编号>。只问几个安全问题、没要报告时,它会走轻量的“指导模式”,不会跑完整流程。

03跑之前要先备好的东西

  • 模型要支持调用工具,并能同时开多个子 AI;
  • 一个由操作系统强制隔离的沙箱:断外网、只放行白名单环境变量、限制资源、只允许写指定临时目录。目标项目里的构建、测试、模糊测试都要在里面跑;
  • 没有这个沙箱的话,流程不会去执行目标代码,可疑点会停在“待验证”。

这一条很关键:被审计的代码本身可能是恶意的,让 AI 在你的日常机器上直接跑,等于自己开门。

04能期待什么、不能期待什么

README 自己提到一个数据:他们的测试里,单次运行大约只能找到多次运行累计漏洞的一半,所以建议多跑几遍,后几轮会参考前面的清单和结果去补空白。这是 Cloudflare 自己的说法,没有第三方对比。它也不是传统扫描器的替代品,更像把“资深安全工程师带一队人审代码”的流程写成了 AI 能照做的步骤。许可证是 MIT,可以免费用,改了也能再发。以上据官方 README 整理,具体细节以仓库为准。

本文由 zovo 编辑撰写,转载请注明出处。

相关文章