一个做交付的朋友问我,接了外部代码仓库的活,交出去之前想让人帮忙把安全关过一遍,有没有不贵的办法。我让他看 Cloudflare 开源的 security-audit-skill。这个仓库 10 月 19 日进我雷达时 3.1 万星,10 月 31 日再看是 5.5 万,十二天涨了 2.3 万。
它做的事一句话能讲清。给你的 Claude Code、Codex、Cursor 装一个「安全审计员」工种,装完对智能体说一句 security audit this codebase,它就组织一队互相隔离的子智能体,按六个阶段把代码库审一遍,最后交出机器能读的 findings.json 和人能读的报告。
中文圈现在流传的多是翻译和解读,从安装到报告的端到端实测我还没见到。我把它装进本机,造了个埋了漏洞的靶机,完整跑了一遍,坑也一起记下来。
一、它是什么,一页看懂
来历要交代一下。Cloudflare 在 6 月 18 日的博客《Build your own vulnerability harness》里讲了他们内部一套覆盖全代码库的漏洞发现系统,文末说顺带开源「我们用来开发这套 harness 的初始 skill」,就是这个仓库。所以它和 Anthropic 官方仓库里那些提示词小技巧不同类,它是一家安全大厂内部流程的起点版本,后面那套生产系统是从它长出来的。
二、最值钱的部分是纪律
把 SKILL.md 读完,我觉得这个 skill 最值钱的地方,是它把「怎么防止 AI 报一堆假漏洞」写成了流程,找漏洞的本事反而排第二。四条纪律贯穿全程。
第一,找漏洞的和验漏洞的永远是两拨智能体。 每个候选发现都要交给一个全新的、没参与狩猎的 verifier,它的任务是推翻这个结论。Cloudflare 博客里的原话是,如果让猎手给自己的作业打分,它会自信地把自己输出的每一条都判为成立。AI 安全审计最大的敌人是幻觉报告,这一刀切得最深。
第二,只认真实的边界违反。 缺了个最佳实践、纵深防御不够厚、自己打自己,都不算漏洞。每条发现要说清六件事,谁是低信任主体、系统接受了什么输入、本该有什么控制、哪条边界被跨过、哪个资源受影响、能观察到什么结果。说不全就不是 finding。

第三,验证不了的不硬编。 没有操作系统级沙箱时,skill 明令禁止执行目标代码,这类线索降级为 needs_validation,记下卡在哪一个具体事实上,等有条件再验。宁可存疑,不写「已复现」。
第四,单轮不装穷尽。 Cloudflare 博客自己写了,单次运行大约只能找到多轮累计漏洞的一半。所以它设计了覆盖账本(coverage ledger),多轮跑同一个仓库会自动补上一轮的空白、复核改过的代码,不用从头再来。
六个阶段依次是侦察、覆盖导向狩猎、候选验证、结构化输出、独立记录复核、中立报告。侦察阶段画出架构和信任边界,狩猎阶段按账本派隔离的猎手,验证阶段换新 verifier 逐条证伪,输出阶段让 findings.json 过 Schema 校验。第五阶段值得单说,结构化结果写完以后,还有一批全新的智能体逐条核对行号和机制。这是给「AI 写完就完」这个坏习惯上的一把锁。

三、实测安装,15 秒
安装一行命令。
npx skills add https://github.com/cloudflare/security-audit-skill \
--skill security-audit --global
本机 15 秒跑完。这个 skills CLI 会自动探测你机器上装了哪些智能体,实测在 ~/.agents/skills/security-audit 落一份本体,再给探测到的几十个智能体做接入或符号链接,Claude Code、Codex、Cursor 都在列。个别小众智能体不支持全局安装,CLI 把原因报得很清楚,不影响使用。
一个值得留意的细节。CLI 安装前会先展示第三方供应链扫描的结论,再让你决定装不装。给智能体装 skill 等于给它开权限,这个环节有人帮你看着,比裸装强。
装完先验货。仓库自带两个校验器,一个校验 findings,一个校验覆盖账本,零依赖,纯 Node 就能跑,还各自带测试。
cd ~/.agents/skills/security-audit
node validate-findings.test.cjs # 全部通过
node validate-coverage-ledger.test.cjs # 全部通过
macOS arm64、Node v22 一次通过。自带的测试都跑不过的审计工具没有可信度,这一关它过了。
四、实测真审计,109 行靶机,四颗雷全中
光装不跑等于没测。我写了个 109 行的纯标准库 Python 迷你服务当靶机,不装第三方依赖,可以离线跑,故意埋了四类经典漏洞,SQL 字符串拼接注入、shell=True 命令注入、路径穿越任意文件读、生产密钥硬编码加未认证端点直出,另外顺手留了一个无盐 MD5 口令存储。
跑的是 quick 档。skill 自带 quick、standard、deep 三档,小目标用 quick,一次狩猎波加一轮终审。过程按它的流程走。
侦察。 parent 智能体读靶机源码,写出架构说明和覆盖账本,一共 5 个粗粒度单元,按攻击面、边界、攻击类三个维度切。
狩猎。 三个隔离 hunter 并行出发,各领各的单元,只读源码,按各自攻击类的方法文档找边界违反。
验证。 我在沙箱内用假数据起服务,对每条候选做最小效果复现,只读的 PoC 加对照组,不越最小边界。
复核。 一个全新 verifier 拿着五条最终记录逐行重读源码,任务是推翻它们。
结果是 5 条 confirmed,1 条 critical、3 条 high、1 条 medium,零误报零漏报。四颗埋雷全中,MD5 存储被独立定为第五条。

几个细节让我确认这套纪律是真起作用的。
三个 hunter 都没有越界抢别人的单元,发现邻区的问题统一报回 parent 记账,不重复认领。
命令注入按「未认证即得代码执行」给了 critical。SQL 注入因为 sqlite3 单语句限制被钉在 high,没有吹成 critical,这个限制是 verifier 自己实测确认的。
verifier 独立重算了 MD5 哈希值,与复现时读出的值逐字比对吻合。五条记录的行号引用零偏差。
弱哈希这种单独存在只算坏习惯的问题,因为找到了两条真实导出路径(注入直读、穿越整库下载)才立得住 finding,定级 medium,没有恐吓式地给 high。
成本要有数。这一轮 quick 档小目标,三个 hunter 加一个 verifier,端到端十分钟以内跑完。token 账单我没有单独留存,按同类任务的经验是几块钱人民币的量级。中型仓库跑 standard 档会贵不少,但对照人工渗透测试的报价,差的是数量级。
五、踩坑实录,解读稿不会告诉你的部分
坑一,复现失败先查自己的 fixture。 路径穿越第一次复现是空的,原因是靶机没建 files 目录,files/../server.py 解析不了。源码审计看得见漏洞,行为复现依赖环境正确。这怪不到工具头上,但第一次跑的人容易先怀疑工具。
坑二,校验器的报错就是文档。 我直接手写覆盖账本 JSON 时踩了三个格式坑,单元必须按字典序排序、coverage_id 必须用它导出的编码函数生成、attempts 数组存的是历史归档,当前波次另放。每条报错精确到字段和原因,照着改两轮就过。普通用户走智能体自动生成碰不到这些,想把产物接进自己流水线的人会感谢这个报错质量。
坑三,担心安全类 prompt 触发模型拒答的,本次没遇到。 我这轮三个 hunter 加一个 verifier 全程零拒答。指令边界写得干净,只读源码、假数据、最小效果,主流模型的安全策略并不碍事。
坑四,它对运行环境有真要求。 SKILL.md 写明,完整验证需要操作系统级沙箱,断外网、白名单环境、资源限额、只写指定目录。没有沙箱也能跑,只是执行类验证会被降级成 needs_validation 存疑。指望无脑一键出确认报告的人会失望,这个失望是设计出来的。
六、什么人该装,什么人不必
该装的画像很清晰。
手里有别人要看的代码的人。 接外部仓库做二开、交付、审计前置自查的乙方,开源项目维护者想在 issue 和 PR 之外定期过安全关,创业团队没有专职安全工程师但代码要过等保或客户尽调。
已经在用 Claude Code、Codex、Cursor 干活的人。 零额外安装成本,一行命令,按需触发。
需要可存档证据的人。 findings.json 过 Schema 校验,覆盖账本可追加,报告里没有活体探测指令,这套产物可以直接进交付物目录。
不必装的也有三类。没有编码智能体使用习惯的,先解决工具再说。想要 Snyk 那种持续监控平台的,这是按需深审,挂机哨兵它不做。代码全是内部低敏 CRUD 且有专人管安全的,用不上这么重的纪律。
七、两句冷静话
星标暴热和代码一个半月没动同时成立。它 9 月中旬后没有新提交,热度更多来自那篇博客的传播长尾。功能完整可用,但要把它当长期基础设施,得接受上游可能不活跃这个事实。好在 MIT 协议加纯本地运行,fork 的成本是零。
另外记住它自己的话,单轮只能找到一半。把它当交付前多一道便宜且讲证据的关,别当过了就安全的免死金牌。
全文带走(30 秒回顾)
1它给编码智能体加的是「审计员」工种,最值钱的一条纪律是找漏洞的和验漏洞的永远分开。
2只认说得清六要素的真实边界违反,验证不了的标存疑,单轮只找得到一半,这三条让报告可信。
3一行命令免费装,适合手里有别人要看的代码的人,当交付前多一道关,别当免死金牌。
前面几篇讲的是让智能体把活交成成品,这一篇是给智能体配质检员。给智能体加「工种」这条线,值得继续盯。
附、资料
Cloudflare 博客 Build your own vulnerability harness(2026 年 6 月 18 日)
评论