Cloudflare 漏洞发现框架 · 单仓库起点

让编码智能体
化身安全审计员

六阶段结构化审计,多智能体相互隔离:侦察建账、覆盖搜寻、对抗验证,最后派生目标中立报告。

审计阶段
6
攻击面家族
11
判定类别
3
零依赖校验器
2
audit — coverage-led run
~/security-audit-skill/my-repo/run-3

源自 《构建你自己的漏洞发现框架》 · 多次运行叠加覆盖,单次约发现累计漏洞的一半

一次审计,六个阶段

父智能体在建账后与每次账本更新后运行覆盖校验,第 4 阶段运行发现校验,第 5 阶段每次替换后再跑一遍。账本与发现可跨运行叠加复用。

PHASE 01 · Reconnaissance

侦察

梳理架构、信任边界、输入面与既往证据,建立确定性覆盖基线。

  • 输出 architecture.md:组件、信任边界与数据流
  • 输出 coverage-ledger.json:覆盖单元与证据指针
  • 父智能体每次账本更新后运行 validate-coverage-ledger.cjs

architecture.md + coverage-ledger.json

后续所有搜寻都从账本单元派发,避免盲区。

1 / 6

三种判定,语义严格区分

严重度等于可能性 × 影响。纵深防御缺口若已被外层阻断,只记加固建议,不算漏洞。

confirmed · 已确认

拥有完整溯源与有界观测

源码依据、触发边界、可观测影响三者齐备,可直接写入 REPORT.md。

{
  "verdict": "confirmed",
  "severity": "high",
  "trace": ["src/auth.ts:118", "poc.sh"],
  "impact": "越权读取任意租户"
}

needs_validation · 待验证

确切但未解决的事实

有源码依据但受阻(如缺沙箱、缺网络隔离),不带严重级别,写入 NEEDS-VALIDATION.md。

rejected · 已排除

已被证伪的候选

验证智能体给出反例或阻断证据,保留排除理由,避免重复派发。

File map · 文件清单

20 个文件,三组职责

核心流程定契约,11 个搜寻类覆盖从内存安全到本地 IPC 的攻击面,校验工程用零依赖脚本锁住结构。先按分组浏览,再用搜索定位。

  • 核心流程SKILL.md

    安装配置 · 核心原则 · 工作流概览

    审计反模式与平台术语,智能体的入口契约。

  • 核心流程RECONNAISSANCE.md

    第 1 阶段侦察提示词

    如何产出 architecture.md 与 coverage-ledger.json。

  • 核心流程HUNTING.md

    第 2 阶段编排与验证规则

    搜寻方法论、隔离要求与覆盖审查。

  • 核心流程VALIDATION-AND-REPORTING.md

    第 3–6 阶段验证与报告

    候选验证、结构化输出、核验与三份报告派生。

  • 搜寻类ATTACK-CLASSES.md

    核心 / 通配 / 显而易见类

    通用攻击提示词基座。

  • 搜寻类MEMORY-SAFETY-AND-BINARY.md

    原生目标

    内存安全、二进制与内核搜寻类。

  • 搜寻类AI-AND-LLM.md

    LLM 支撑目标

    提示注入、智能体 / 工具、输出处理。

  • 搜寻类WEB-PROTOCOL-AND-AUTH.md

    HTTP 与鉴权目标

    请求封装、缓存、认证协议。

  • 搜寻类CLIENT-SIDE.md

    客户端 / 浏览器目标

    DOM 注入、消息信任、UI 欺骗、原型污染。

  • 搜寻类SUPPLY-CHAIN-AND-RELEASE.md

    供应链与发布

    依赖、CI、签名、更新、插件与扩展。

  • 搜寻类CLOUD-AND-DEPLOYMENT.md

    云与部署

    IAM、IaC、容器、无服务器、入口与运行时。

  • 搜寻类PROTOCOLS-RPC-AND-MESSAGING.md

    RPC 与消息

    序列化、队列、代理、Webhook 与流式协议。

  • 搜寻类RESOURCE-EXHAUSTION-AND-AVAILABILITY.md

    资源与可用性

    共享资源、配额、队列、worker 与运营开销。

  • 搜寻类DATA-ISOLATION-AND-LIFECYCLE.md

    数据隔离与生命周期

    租户隔离、缓存、搜索、导出、备份、删除与恢复。

  • 搜寻类DESKTOP-MOBILE-AND-LOCAL-IPC.md

    端与本地 IPC

    原生应用、深链接、WebView、导出组件与守护进程。

  • 校验工程report-schema.json

    三类别判定 Schema

    findings.json 的结构化约束。

  • 校验工程validate-findings.cjs

    第 4、5 阶段校验器

    零依赖,校验 findings.json。

  • 校验工程validate-findings.test.cjs

    校验器测试

    兼容生产端的夹具检查。

  • 校验工程validate-coverage-ledger.cjs

    第 1–5 阶段校验器

    零依赖,校验 coverage-ledger.json。

  • 校验工程validate-coverage-ledger.test.cjs

    账本校验器测试

    覆盖账本的结构与一致性测试。

20 / 20 个文件 · 搜寻类覆盖 11 个攻击面家族

安装与启动

用 Skills CLI 一行安装。在编码智能体所在(或指向)的代码库中启动它,说一句话即可进入完整审计。

$ npx skills add https://github.com/cloudflare/security-audit-skill --skill security-audit
写入当前项目 skills 目录

输出目录规则

未指定时默认 ~/security-audit-skill/<repo-name>/run-<N>。只有当你显式选择被版本控制忽略的目录时,才会在目标仓库内写入文件。

三种启动说法

  • “security audit this codebase”

    完整审计当前代码库

  • “find security vulnerabilities in ./src”

    聚焦 ./src 做漏洞搜寻

  • “do a security review, output to ~/audits/my-project”

    指定输出目录的评审

触发与模式

命中 security audit、find vulnerabilities、pen-test the code 等触发词即自动激活。直接审计进入完整模式;安全咨询与聚焦排查进入指导模式,除非你明确要求报告产物。

运行要求与设计原则

审计需要工具调用与并行子智能体、Node.js 运行校验器,以及操作系统强制约束的沙箱。

  • 编码智能体支持工具调用与并行子智能体
  • Node.js运行零依赖的 findings 与 ledger 校验器
  • 受约束沙箱禁用外部网络 · 白名单净化环境 · 资源限制 · 仅写指定临时路径

若缺少沙箱控制,工作流不会执行目标代码,只会把该线索保持为 needs_validation。

  1. 只确认已确证的边界失效 01

    有源码依据但受阻的线索保留为 needs_validation,并写明确切的未解决事实。

  2. 对抗式验证 02

    检查某条发现的智能体,绝不可以是发现它的那个智能体。

  3. 严重级别必须有影响力支撑 03

    严重度 = 可能性 × 影响,而不是对检查清单的偏离程度。

  4. 纵深防御缺口不等于漏洞 04

    如果 A 层已阻止该攻击,缺少 B 层只是一条加固建议。

  5. 多次运行可提升覆盖率 05

    测试中单次运行约找出累计漏洞的一半;叠加账本与发现,瞄准遗漏并对变更源码重验。

Contact · 联系与许可

有疑问或实战经验?写信交流。

关于 AI 驱动安全工具的疑问、反馈或经验交流,联系 Cloudflare 安全 AI 研究团队。