cloudflare/security-audit-skill
GitHub: cloudflare/security-audit-skill
Cloudflare 推出的多阶段 AI 安全审计技能,将编码 agent 编排为并行审计团队,通过对抗性验证发现并确认代码库中真实可利用的漏洞。
Stars: 470 | Forks: 36
# security-audit
一个能将你的编码 agent 转变为安全审计员的 coding-agent 技能。它通过一个包含六个阶段的流水线(侦察、挖掘、验证、报告、结构化输出和独立验证)来编排多个并行的 agent,以发现具有实际影响的、可利用的漏洞。
这是为 Cloudflare 的漏洞发现框架奠定基础的技能,在 [构建你自己的漏洞框架](https://blog.cloudflare.com/build-your-own-vulnerability-harness) 中有相关描述。该框架发展成为一个多阶段、全 Fleet 的系统;而这个技能正是它演化而来的单仓库起点。
## 它的功能
该技能通过六个阶段执行结构化的审计:
1. **Recon(侦察)** —— 并行的研究 agent 会梳理应用程序的架构、信任边界和输入面。生成 `architecture.md`。
2. **Hunt(挖掘)** —— 并行的通用 agent 从不同角度(注入、访问控制、业务逻辑、密码学、功能滥用、链式攻击以及一个通配符)对代码库发起攻击。每个 agent 都可以生成子 agent 以进行更深入的挖掘。
3. **Validate(验证)** —— 独立的 agent 会尝试*推翻*每一项发现。对抗性审查能消除误报。
4. **Report(报告)** —— 生成 `REPORT.md`(人类可读)和 `FINDINGS-DETAIL.md`(针对 MEDIUM+ 级别发现的详细追踪记录)。
5. **Structured output(结构化输出)** —— 编写符合 `report-schema.json` 的 `findings.json`,并由 `validate-findings.cjs` 进行验证。
6. **Independent verification(独立验证)** —— 全新的 agent 会根据实际源代码验证结构化输出中的每一项事实陈述。
对同一仓库的多次运行是累加的。每次运行都会探索不同的代码路径;该技能会读取先前的 `findings.json` 文件,以跳过已知问题并针对空白领域进行挖掘。
## 文件
| 文件 | 用途 |
|------|---------|
| `SKILL.md` | 设置、核心原则、平台术语、工作流概述和审计反模式 |
| `RECONNAISSANCE.md` | 阶段 1 侦察 prompt 和综合说明 |
| `HUNTING.md` | 阶段 2 编排、挖掘方法和验证规则 |
| `ATTACK-CLASSES.md` | 核心、通配符和显而易见事物的攻击 prompt |
| `VALIDATION-AND-REPORTING.md` | 阶段 3–6 验证、报告和核查 |
| `report-schema.json` | `findings.json` 的 JSON schema(已确认和已拒绝的发现结构) |
| `validate-findings.cjs` | 零依赖的 Node.js 验证器,用于根据 schema 检查 `findings.json` |
## 安装
使用 [Skills CLI](https://skills.sh) 安装该技能:
```
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
```
运行 `npx skills --help` 以获取 agent 选择和非交互式选项。
## 用法
在你要审计的代码库中启动你的编码 agent(或将 agent 指向该代码库),然后要求它进行安全审计:
```
security audit this codebase
```
```
find security vulnerabilities in ./src
```
```
do a security review, output to ~/audits/my-project
```
当请求与其触发条件匹配(安全审计、查找漏洞、对代码进行渗透测试等)时,该技能会自动激活。如果你未指定输出目录,它会要求你提供一个,默认为 `~/security-audit-skill//run-`。
## 要求
- 一个编码 agent,其使用的模型需支持工具调用和并行子 agent
- Node.js(用于阶段 5 中 `validate-findings.cjs` 的 schema 验证)
## 设计原则
- **只报告你能利用的漏洞。** 每个发现都需要一个具体的攻击场景,而不是“攻击者理论上可以……”
- **对抗性验证。** 检查发现的 agent 绝不能是发现该漏洞的 agent。
- **严重性取决于影响。** 是“可能性 x 影响”,而不是对照检查表的偏差。
- **纵深防御的缺失不是漏洞。** 如果 A 层已经阻止了攻击,那么 B 层的缺失只是一条强化建议。
- **多次运行可提高覆盖率。** 测试表明,在多次运行中,单次运行大约只能发现总漏洞数量的一半。
## 联系方式
如有任何问题、反馈,或希望就 AI 驱动的安全工具交流心得:security-ai-research@cloudflare.com
## 许可证
MIT —— 请参阅 [LICENSE](LICENSE)。
标签:AI智能体, CISA项目, DNS 反向解析, LLM安全工具, MITM代理, 自定义脚本, 静态应用安全测试