ARTICLE · 1045898
一款免费、开源的 AI 安全审计技能包,把编程助手变成"安全审计员",Cloudflare 靠它真挖出漏洞,Star 17K+ !
你是不是也遇到过这种尴尬:让 AI 帮忙审一遍代码安全,它要么丢给你一堆"这里可能有风险"的含糊话,要么给你几百条告警、一大半是误报,真正要紧的地方反倒放过了。安全审计这事儿,难的不是"看代码",而是覆盖得全、还得证明你说的是真的。
一句话介绍 security-audit:这是 Cloudflare 开源的一份技能包(skill),把它装进你手上的 AI 编程助手,助手就从"能看代码"变成"按流程做安全审计"——先侦察、再分头搜、然后逐个证伪,最后给你一份机器可读、有据可查的报告。
项目简介

它的官方定位很直白:A coding-agent skill for multi-phase security audits with independently verified, machine-readable findings——一份做多阶段安全审计、结论可独立复核、格式机器可读的技能包。
更有意思的是它的出处。它就是 Cloudflare 内部那套"漏洞发现流水线"(vulnerability harness)的种子版本。Cloudflare 在 2026 年 6 月 18 日发过一篇博客《Build your own vulnerability harness》,讲这套东西怎么从一个单仓库的小技能,长成阶段化、跨仓库、舰队级的系统;而这个仓库,就是它演化出来的那个单仓库起点——你可以直接拿它开跑。
它盯的痛点也很明确:通用的编程助手做安全分析有三个天然的坎——一次只抱一个假设、上下文窗口一满就把前面查过的忘干净;结论缺少来源链路,说不清"凭什么";单仓库视角天然看不到组件之间接口上的问题。这份 skill 的思路是:把"覆盖"和"验证"变成流程,而不是让模型自由发挥。
核心特性

几个点特别值得说:
六阶段结构化审计:侦察(Reconnaissance)→ 覆盖驱动的狩猎(Coverage-led hunting)→ 候选验证(Candidate validation)→ 结构化输出 → 独立记录复核 → 中性报告。每一步都有产出物,不是聊完就散。 对抗式验证:验证一条结论的那个 agent,永远不是发现它的那个 agent。这条规则直接掐掉了"自己说自己对"。 三种裁决分得清清楚楚: confirmed必须有完整来源链路和有界的观测结果;needs_validation只留一个未解决的确切事实、而且不给严重等级;rejected记录被证伪的候选。没证据就不硬下结论。覆盖台账打底:侦察阶段先产出 architecture.md和coverage-ledger.json,把攻击面登记成可追踪的单元;收尾还带着两个零依赖校验脚本validate-coverage-ledger.cjs、validate-findings.cjs把格式卡死。多轮是叠加的:同一个仓库跑多次不会白跑——它用旧台账定位缺口,重新验证变更过的源码,把还在的证据带过来,但绝不把"没解决的旧问题"当成"已覆盖"。 严重性要讲影响:按"可能性 × 影响"定级,而不是"跟检查清单不一致"就报;另外它明确区分"纵深防御的缺口"和"真漏洞"——A 层能挡住,那 B 层缺席只算加固建议,不算漏洞。

攻击面的分类也下足了功夫,几乎每个方向都有一份专门的提示词文件:内存安全 / 二进制 / 内核、AI 与 LLM(提示注入、Agent 与工具滥用、输出处理)、HTTP 协议与认证(请求分帧、缓存、认证协议)、客户端(DOM 注入、消息信任、UI 重定向、原型污染)、供应链与发布(依赖、CI、签名、更新、插件与扩展)、云与部署(IAM、IaC、容器、Serverless、入站、运行时配置)、RPC 与消息(序列化、队列、Broker、Webhook、流式协议)、资源耗尽与可用性、数据隔离与生命周期(多租户、缓存、导出、备份、迁移、删除与恢复),一直到桌面 / 移动端与本地 IPC。

它是通过 Skills CLI 分发的,所以安装完全是"一行命令"的事,装完就融进你已有的 Agent 工具链里。
怎么用

上手就四步:
装技能包(用 Skills CLI):
npx skills add https://github.com/cloudflare/security-audit-skill \ --skill security-audit想装成用户级、所有项目都能用,加个
--global:npx skills add https://github.com/cloudflare/security-audit-skill \ --skill security-audit \ --global到你要审的代码库目录里(或把 Agent 指向它),起你的编程 Agent。
直接说人话触发它:
security audit this codebasefind security vulnerabilities in ./srcdo a security review, output to ~/audits/my-project等报告。全量审计模式下,没指定输出目录就默认写到
~/security-audit-skill/<repo-name>/run-<N>。
触发是自动的——你的话术命中它的触发器(security audit、find vulnerabilities、pen-test the code 这类)它就会启动。直接说"审一遍 / 渗透测试"走全量审计模式;只是随口问个安全问题,它走引导模式,除非你明确要报告产物。
几个前提得说清楚:你的 Agent 要支持工具调用和并行子 Agent;本机装 Node.js(那两个校验脚本是零依赖的);如果要跑目标的构建、测试、浏览器、模糊测试这些,需要一个 OS 级沙箱——禁外网、白名单环境变量、资源限额、只允许写指定的临时路径。没有沙箱,它就把线索保留为 needs_validation,不会去执行目标代码,这点挺克制。
效果长啥样


Cloudflare 官方博客里把整个过程讲得很实。他们从一份大约 450 行的 security-audit 技能起步,一开始只在单个仓库上跑,靠不断调提示词把真实漏洞挖出来;后来才把那套编排长成整套流水线。他们特别强调:真正的价值在提示词里——最初那份技能沉淀下来的攻击场景、缺陷类别和反模式检测,到现在还基本原样在跑。
往外看,这套东西已经长成了两个阶段:Stage 1 是漏洞发现流水线(VDH),做动态威胁建模、micro-forks 与 wishlist、跨仓库追踪,专门解决"怎么让发现是可信的";Stage 2 是漏洞验证系统(VVS),负责去重、上下文判断和自动修复。博客还专门讲了他们怎么衡量效果——用一套"北极星"指标盯真实世界里的漏洞发现速度,以及他们怎么处理修复之后的回归。

为什么值得用

对个人玩家:它就是个技能包,装进你常用的 AI 助手就行。自己写开源项目、接个私活、上线前心里没底的时候,让助手按流程扫一遍,比"凭感觉看代码"踏实得多。
对开发者和团队:它的价值在于把安全审计从"人的注意力"挪进了"流程"。覆盖台账保证不漏,对抗式验证保证不虚。Cloudflare 那句自我评价挺诚恳——单次运行大约只找到反复运行能找出的漏洞的一半,所以它天生就是为"多跑几轮"设计的,跑得越多覆盖越全。
对企业:这套思路有两个对企业很友好的默认值。一是 model-agnostic,不锁某个模型,哪个模型当下最强就用哪个;二是默认不执行目标代码——没有合格沙箱就只出 needs_validation,这对内网、合规场景友好得多。协议是 MIT,你可以把它直接改成自己的审计流水线,Cloudflare 还留了个邮箱 security-ai-research@cloudflare.com 给同行交流。
说它是"安全审计员的说明书"也不为过:把资深安全工程师脑子里那套"怎么系统性找问题、怎么证明自己找对了"的方法,写成了 Agent 能照着执行的流程。如果你本来就在用 AI 助手写代码,顺手加这一层"安全视角",挺值。
https://github.com/cloudflare/security-audit-skill