ByteNoteByteNote
让 agent 当安全审计员:Cloudflare 审计 skill 一天涨 2500 星
字

字节笔记本

2026年11月6日 · 约 5 分钟读完

让 agent 当安全审计员:Cloudflare 审计 skill 一天涨 2500 星

API中转
¥120

GitHub 日榜上 11 月 6 日单日进账 2,524 星的,是 Cloudflare 的 security-audit-skill——一个让 coding agent 变成安全审计员的 skill。gh 实测(2026-11-07 快照):63,373 stars、4,109 forks,MIT 许可证,2026 年 6 月 18 日创建,11 月 6 日仍在更新。

先把"新"字说清楚:仓库本身 6 月就创建了,这次上日榜不是 Cloudflare 发布了新安全工具——11 月 6 日的新东西是"单日 +2,524 星"这个冲量。

cloudflare/security-audit-skill 仓库

它是什么:一个 skill,不是一个扫描器

README 的一句话定位:按六个阶段组织隔离的子代理做侦察、覆盖式狩猎、候选验证、结构化输出、独立复核与中立报告,每条发现都要有完整来源链与可观测结果。README 原文称它是 Cloudflare 漏洞发现 harness 的起点(发布方口径)——多阶段的舰队级系统是后来的演进,这个 skill 本身是单仓库起点。

Cloudflare 漏洞发现 harness 博客

关键在理解它的形态:它编排的是你自己的 agent,给的是提示词与工作流,不是"装上就扫漏洞"的二进制工具。

六个阶段(README 原文口径)

  1. 侦察——画架构、信任边界、输入面与既有证据,落到 architecture.md 与 coverage-ledger.json;
  2. 覆盖式狩猎——按 ledger 单元派隔离的 hunter,coverage critic 专职找覆盖缺口;
  3. 候选验证——每个候选发现交给一个全新的 verifier 尝试证伪;
  4. 结构化输出——confirmed / needs_validation / rejected 三类记录写进 findings.json,并用 report-schema.json 校验;
  5. 独立记录复核——全新的 agent 复核最终来源声明,实质性替换的再过一次独立 verifier;
  6. 中立报告——从已验证记录与 ledger 派生 REPORT.md、FINDINGS-DETAIL.md、NEEDS-VALIDATION.md。

流程里还埋了两个校验闸门:父代理在每次 ledger 更新后跑 validate-coverage-ledger.cjs,第四、五阶段之后跑 validate-findings.cjs。同一仓库多次运行的结果可以累加——优先补覆盖缺口、复验改动过的源码,不是每次从零扫起。

判定标准:不让 agent 满嘴跑火车

三类记录各有硬门槛(README 原文):confirmed 必须有完整来源链与有界的可观测结果;needs_validation 必须写明具体未决事实、不许标严重程度;rejected 记录被证伪的候选。这套设计的用意很明显:审计报告里最不值钱的就是"agent 觉得有问题",最值钱的是"有人唱过反调之后还站得住的结论"。

文件里都有什么

SKILL.md(搭建、核心原则、工作流总览与审计反模式)加十一个分阶段文档:RECONNAISSANCE、HUNTING、ATTACK-CLASSES、MEMORY-SAFETY-AND-BINARY、AI-AND-LLM(提示注入、agent/工具、输出处理)、WEB-PROTOCOL-AND-AUTH、CLIENT-SIDE、SUPPLY-CHAIN-AND-RELEASE、CLOUD-AND-DEPLOYMENT、PROTOCOLS-RPC-AND-MESSAGING、RESOURCE-EXHAUSTION-AND-AVAILABILITY。攻击面清单从内存安全一直铺到提示注入,AI/LLM 单独成篇。

值不值得用

对自己维护代码库、想让 agent 帮忙审代码的开发者,这是第一次有了"结构化、可复核、可累加"的开源审计 skill——侦察先画覆盖账本、每个发现都有人唱反调、最后只报告验证过的东西,比"让 agent 随便扫一遍"可信得多。但四件事说在前面:

  1. 它只是 skill,审计质量取决于你用的模型与给的上下文,不是"一键出报告";
  2. 六个阶段、多 agent 交叉验证跑下来 token 花费不低,别当成免费午餐;
  3. 它审的是你有权限审的代码库——别拿去扫别人的仓库;
  4. 报告里的 needs_validation 不是次品,是"证据还不够"的诚实标记,别只看 confirmed 就删掉另一半。

参考来源

相关文章

分享: