众力资讯网

今天(2026-10-24)我刷 GitHub Trending,AI 应用类里排在最前面的不是又一款聊天壳,而是 Cloudflare 把一个内部用了很久的“漏洞发现流水线”拆成单个 skill 开源了出来。它叫 security-audit-skill,一句话讲清楚:把你手头的编程智能体,变成一个会分阶段、会自查、还会互相挑刺的安全审计员。 # ​

今天(2026-10-24)我刷 GitHub Trending,AI 应用类里排在最前面的不是又一款聊天壳,而是 Cloudflare 把一个内部用了很久的“漏洞发现流水线”拆成单个 skill 开源了出来。它叫 security-audit-skill,一句话讲清楚:把你手头的编程智能体,变成一个会分阶段、会自查、还会互相挑刺的安全审计员。

① 一句话定位

老痛点很具体——让 AI 审代码,最容易得出的结论要么是“看起来没问题”的安慰剂,要么是一串吓人但查无实据的“疑似漏洞”。更隐蔽的问题是闭环:发现漏洞的和确认漏洞的往往是同一个模型,自己挖的坑自己填,自然倾向于把存疑的也写成确定。这个 skill 的出发点就是治这个:它把审计拆成多个隔离阶段,每一步的结论都要有源码级证据,查不到实锤就老实标成“待验证”,而不是张口就来。

② 核心能力 / 架构

它跑的是一条六阶段流水线(仓库 README 原话):

一、侦察(Reconnaissance):画出架构、信任边界、输入面,把覆盖范围记进 `architecture.md` 和 `coverage-ledger.json`;

二、覆盖驱动的猎杀(Coverage-led hunting):按账本单元派发隔离的“猎手”智能体去扫,再用覆盖批评员找盲区;

三、候选验证(Candidate validation):每个可疑点都交给一个全新验证员,专门试着证伪它;

四、结构化输出(Structured output):把结论写进 `findings.json`,分三类——`confirmed`(有完整源码追踪和有限实测结果)、`needs_validation`(有确切未解事实、不下严重性定论)、`rejected`(已被证伪);

五、独立记录复核(Independent record verification):换一批全新智能体复查最终结论,重要替换再多加一轮独立验证;

六、目标中立报告(Target-neutral reporting):从已验证记录和覆盖账本里派生 `REPORT.md`、`FINDINGS-DETAIL.md`、`NEEDS-VALIDATION.md`。

整包体量不大但很工整:一份 `SKILL.md` 总纲,外加 12 个分域狩猎指南(内存安全与二进制、AI 与 LLM 注入、Web 协议与鉴权、客户端、供应链与发布、云与部署、RPC 与消息、资源耗尽、数据隔离、桌面移动与本地 IPC 等),三个零依赖的 Node.js 校验脚本(`validate-findings.cjs`、`validate-coverage-ledger.cjs` 加各自的测试版)和一个 `report-schema.json` 把输出锁死成机器可读格式。

它还有五条写在根上的设计原则,才是这套东西不像普通“AI 扫描器”的地方:第一,只确认已经坐实的边界失效,没实锤的线索就老老实实挂着;第二,对抗式验证——复查一个结论的智能体,绝不可以是当初发现它的那个;第三,定严重性要看“影响面 × 发生概率”,而不是偏离了某份检查清单就扣分;第四,纵深防御的缺口不算漏洞,如果 A 层已经挡住了攻击,缺 B 层只是加固建议;第五,多次运行能补齐覆盖,单次跑在 Cloudflare 自己的测试里只捞出重复运行总发现量的一半左右。GitHub 实时星标 42,910(Trending 显示 42,903,基本一致,没有水分),MIT 许可证,JavaScript 编写,2026-06-18 创建、最近一次提交 2026-09-14。它正是 Cloudflare 那篇《Build your own vulnerability harness》里“漏洞发现 harness”的起点版本。

③ 上手步骤

前置就三样:一个支持工具调用和并行子智能体的编程智能体、本机装好 Node.js(给那几个校验脚本用)、以及一套操作系统级沙箱(用来安全地跑被测目标自己的构建、测试、模糊测试,必须断外网、限制资源、只允许写指定临时目录)。缺沙箱也不要紧——skill 会自动把需要执行目标代码才能确认的线索降级为 `needs_validation`,不冒险。

装法就一行(用 Skills CLI):

```npx skills add 网页链接 --skill security-audit```

想装到用户级加 `--global`。之后在你要审的代码库里启动智能体,说一句“security audit this codebase”或者“find security vulnerabilities in ./src”就行,匹配到触发词它会自动接管。直接审代码走“全量审计模式”,只问某个安全问题就走“指导模式”。全量模式下若你不指定输出目录,默认落到 `~/security-audit-skill/<仓库名>/run-<序号>`;只有当显式选了一个被版本控制忽略的目录时,它才会往目标仓库里写东西,平时只在外圈产出报告,这点对不想污染代码库的人很友好。

④ 适用场景与边界

谁该用:要给自己代码库做常态化安全体检的个人或团队、想把审计塞进 CI 的工程师,尤其是已经用 Claude Code、Codex 这类支持子智能体的编程助手的人——它本质上是给这些助手装的一本“怎么不漏报也不瞎报”的规矩手册。对一个持续迭代的项目来说,它的“多次运行可叠加”特性很适合做定期巡检:上一次的覆盖账本和结论会被下一轮复用,专门去补之前的盲区、重新验证改过的源码。

谁先别碰:如果你只想点一下按钮出个漂亮报告交差,它不适合——它宁可少报、标“待验证”,也不会给你编一堆高危。没有沙箱环境的,也拿不到它最强的“实锤确认”能力,只能拿到线索清单。另外它面向的是能读写代码、能理解审计结论的工程师,不是给产品经理想要看板用的开箱工具。

已知局限:第一,单次运行在 Cloudflare 自己的测试里只覆盖到重复运行总发现量的一半左右,想查得全得多次跑;第二,要执行被测目标的代码才能坐实的环节,强依赖你提供的沙箱是否够硬;第三,最终质量天花板取决于你用的模型和并行子智能体是否给力,它管的是流程,不是替你写模型。把它当“审计流程的骨架”而不是“全自动漏洞机器”,预期才不会被打脸。

⑤ 来源与延伸

- 仓库与六阶段说明:网页链接- Cloudflare 官方博客《Build your own vulnerability harness》(该 skill 的来龙去脉):网页链接- 安装入口 Skills CLI:网页链接

真正的安全审计,从来不是工具跑完给你一份清单,而是有人替你把“我以为没问题”那一栏,一行行打上问号。