GitHub 热榜上手|security-audit-skill:单周 +12680 star
📌 本文整理自官方文档与社区公开资料,未做真机实测。
单周新增 12680 star,总数 46254。Cloudflare 把自己的 coding agent 改造成安全审计员,开源出来的就是它——不是扫描器,不是 SaaS,是一套六阶段编排的 skill 文件。
项目介绍
security-audit-skill 是 Cloudflare 开源的 JavaScript 仓库,定位是 coding-agent skill:加载后,你的 agent 按固定六阶段跑安全审计,产出机器可读的 findings。
README 原文说明,这个 skill 是 Cloudflare 漏洞发现 harness 的种子。harness 后来长成了多阶段、全机队系统,而这个单仓库是它演化前的起点。
六阶段与关键产物:
| 阶段 | 做什么 | 产出 |
|---|---|---|
| 1 侦察 | 映射架构、信任边界、输入面、历史证据、确定性覆盖 | architecture.md、coverage-ledger.json |
| 2 覆盖驱动狩猎 | 从 ledger 单元分配隔离 hunter,coverage critic 找缺口 | 检查记录 |
| 3 候选验证 | 每个唯一候选交给全新 verifier 尝试证伪 | 判定 |
| 4 结构化输出 | 写入 confirmed / needs_validation / rejected,对照 schema 校验 | findings.json(校验report-schema.json) |
| 5 独立记录核验 | 新鲜 agent 核验最终源码声明,材料替换再走一轮 | 核验记录 |
| 6 目标中性报告 | 从已验证记录 + ledger 派生 | REPORT.md、FINDINGS-DETAIL.md、NEEDS-VALIDATION.md |
三种判定互斥且定义严格:confirmed要求完整源码追踪加有界观测结果;needs_validation只记录精确未解决事实,不附严重度;rejected记录已证伪候选。
多次运行同一仓库是增量式:读取历史 ledger 和 findings,定位缺口、重验变更源码、保留当前源码证据,不把过期或未解决条目当"已覆盖"。
上手指南
本文整理自官方文档与社区反馈,未做真机实测。
clone(逐字):
gitclone--depth1cloudflare/security-audit-skill目录核心文件(来自 README Files 表):
| 文件 | 用途 |
|---|---|
SKILL.md | 配置、核心原则、平台术语、工作流概览、审计反模式 |
RECONNAISSANCE.md | 第 1 阶段侦察 prompt 与综合说明 |
HUNTING.md | 第 2 阶段编排、狩猎方法、验证规则 |
ATTACK-CLASSES.md | 核心攻击类别 |
没有标准构建清单,没有npm install或pip install步骤。你拿到的是 prompt 文件加两个校验脚本(validate-coverage-ledger.cjs、validate-findings.cjs),需要由你的 coding agent 框架加载执行,不是一个独立可运行的应用。
踩坑记录
官方 issue 区暂无高频问题(本次未获取到 issues 数据,不做编造)。
从执行记录看,唯一容易卡住的点:
$ git clone --depth 1 cloudflare/security-audit-skill exit=0 Cloning into '/tmp/ght-smoke/cloudflare__security-audit-skill'... $ (无标准构建清单) exit=0 未识别 python/node 项目结构,仅完成 cloneclone 之后没有 build、没有 start、没有 test 命令。如果你习惯 clone 完就npm run build,会发现什么都没有——这是 skill 定义集合,不是传统可构建项目。校验脚本validate-coverage-ledger.cjs和validate-findings.cjs由 agent 工作流在特定阶段调用,不是给终端手动跑的 CI 步骤。
使用说明
基于 README 的真实用法,不添加任何 README 里没有的参数:
- 将 skill 文件(以
SKILL.md为入口)加载进你的 coding agent。 - Agent 按 1→6 顺序执行,每阶段产出对应文件。
- 第 1 阶段生成 ledger 后,父进程运行
validate-coverage-ledger.cjs;之后每次 ledger 更新都再跑一次。 - 第 4 阶段运行
validate-findings.cjs;第 5 阶段每次替换记录后再跑一次。 - 第 6 阶段从已验证记录与 coverage ledger 派生三份报告文件。
多次运行同一仓库时,skill 读取历史 ledger 与 findings 做增量覆盖,不重跑全量。
总结
该用的人:
- 已在用 coding agent 做开发,想给 agent 套一套结构化安全审计流程的;
- 想练手"多 agent 协作 + 机器可读输出"这个编排模式的;
- 对 Cloudflare 漏洞 harness 架构感兴趣、想从单仓库起点读全貌的。
不该用的人:
- 期望 clone 完
npm start就出扫描结果的——这不是服务,是 prompt 文件集; - 需要终端交互式一键扫描体验的——六阶段设计给 agent 编排,不是 CLI 工具;
- 没有任何 coding agent 使用经验的——skill 文件本身不会自动执行,需要 agent 框架承载。
本周共带来 7 个 GitHub 热榜项目,后续每天更新一篇。关注我,跟着热榜项目练手。
最后一个问题:拿到这套 skill 文件,你更倾向先把它喂给现有 agent 跑一遍完整六阶段,还是先读SKILL.md里的"审计反模式"清单当思维训练?
做自动化这几年,最耗时间的从来不是写代码,是摸清每个平台的脾气。
这篇里提到的坑,都是真金白银踩出来的。
如果你手上也有重复度很高的活儿——批量发布、数据搬运、有固定规则的机械操作
——可以在评论区说说你的场景,我看看能不能自动化掉。