用途
cloudflare-security-audit-skill 是一个面向编码智能体的安全审计技能,通过并行智能体编排多阶段安全审计流程。其设计目标是发现具有真实影响的可利用漏洞,而不是理论性问题。该技能是开源项目,也是 Cloudflare 漏洞发现框架的种子技能。对同一代码库的多次运行具有累加性——每次探索不同的攻击面,同时读取先前的发现以避免重复。
主要能力
该技能通过结构化流水线协调多个并行智能体,共六个阶段:
- 侦察(Recon):梳理架构、信任边界、输入面,输出 architecture.md。
- 搜寻(Hunt):7 个并行智能体从不同角度发起攻击,包括注入、访问控制、业务逻辑、加密、功能滥用、链式攻击和通配符智能体。
- 验证(Validate):由独立的智能体对每个发现进行对抗性审查,以消除误报。
- 报告(Report):生成 REPORT.md 和 FINDINGS-DETAIL.md。
- 结构化输出(Structured output):生成 findings.json,并依据 report-schema.json 进行校验。
- 独立验证(Independent verification):由全新的智能体对照实际源代码验证每一项声明。
攻击类别
搜寻阶段会为以下类别启动并行智能体:
- 核心攻击类别:注入(SQL、NoSQL、命令、模板、XSS、XXE)、访问控制(认证缺陷、IDOR、权限提升、路径遍历)、业务逻辑(竞态条件、状态操纵、工作流绕过)、密码学(弱加密、密钥管理、随机数生成)、功能滥用(将预期功能用于恶意目的)、链式攻击(多步利用链)。
- 通配符智能体:探索特定于代码库领域的非常规攻击面。
- 明显问题扫描:快速检查常见错误(硬编码密钥、调试端点、默认凭据)。
使用方式
安装
使用 Skills CLI 安装:
npx skills add https://github.com/cloudflare/security-audit-skill \
--skill security-audit
用户级安装(在所有项目中可用):
npx skills add https://github.com/cloudflare/security-audit-skill \
--skill security-audit \
--global
检查安装:
npx skills list
基本用法
进入要审计的代码库并调用:
security audit this codebase
find security vulnerabilities in ./src
do a security review
该技能在触发短语出现时激活,若未指定输出目录会提示输入。
指定输出目录:
security audit this project, output to ~/audits/myapp
run security-audit skill on ./api, save to /tmp/audit-results
默认输出位置:~/security-audit-skill/<repo-name>/run-<N>
针对特定目录:
audit the authentication module in ./src/auth
find vulnerabilities in ./payment-processing
多次运行策略(每次探索不同路径,以获得更好覆盖):
security audit this codebase (run 1 of 3)
该技能会读取先前的 findings.json 文件,跳过已知问题并针对未探索区域。
输出文件
完整审计运行后,输出目录包含:
- architecture.md:侦察阶段——信任边界、数据流、输入面
- REPORT.md:含已确认发现的高层摘要
- FINDINGS-DETAIL.md:MEDIUM 及以上发现的详细追踪
- findings.json:符合 report-schema.json 的机器可读发现
- validation-logs/:对抗性审查记录
配置
该技能从以下来源读取配置:命令行标志(通过 Skills CLI)、仓库中的技能元数据(.skills/security-audit.json)、环境变量。
环境变量示例:
# 输出目录覆盖
export SECURITY_AUDIT_OUTPUT_DIR=~/custom-audits
# 并行智能体数量(搜寻阶段默认:7)
export SECURITY_AUDIT_PARALLEL_AGENTS=10
# 跳过阶段(逗号分隔:recon,hunt,validate,report,structured,verify)
export SECURITY_AUDIT_SKIP_PHASES=recon
# 报告的最低严重级别(CRITICAL, HIGH, MEDIUM, LOW, INFO)
export SECURITY_AUDIT_MIN_SEVERITY=MEDIUM
# 从自定义位置读取先前运行
export SECURITY_AUDIT_PRIOR_RUNS_DIR=~/audits/myapp
项目级配置:在仓库中创建 .skills/security-audit.json,可设置 exclude_paths、focus_areas、custom_attack_classes、severity_overrides 等。
核心原则
该技能强制执行严格的安全研究标准:
- 只报告可利用的发现:每个发现都需要具体的攻击场景、实际的输入/载荷、可观察的影响。不接受“理论上可能”或“或许允许”的表述。
- 对抗性验证:验证智能体永远不是发现智能体;验证者试图证伪发现;只有利用路径可复现的发现才能保留。
- 严重级别 = 可能性 × 影响:CRITICAL(完全系统沦陷、数据外泄、RCE)、HIGH(认证绕过、权限提升、PII 泄露)、MEDIUM(部分数据暴露、有限权限提升)、LOW(影响最小的信息泄露)、INFO(纵深防御缺口、加固机会)。
- 纵深防御缺口 ≠ 漏洞:如果 A 层阻止了攻击,缺少 B 层只是加固说明,不是漏洞。
常见模式
- 增量覆盖:针对不同焦点区域运行多次审计,后续运行读取先前发现。
- CI/CD 集成:可通过 GitHub Actions 工作流定期运行审计并检查关键发现。
- 自定义攻击类别:通过 .skills/custom-attacks/ 下的 Markdown 文件扩展领域特定攻击。
高级用法
- 基于差异的审计:仅审计提交之间变更的代码。
- 与现有安全工具集成:合并 SAST/DAST 工具的结果。
- 自定义报告:生成不同格式的报告。
适用场景
适用于对代码库进行安全审计、发现可利用漏洞、在 CI/CD 中集成安全扫描、针对特定模块(如认证、支付处理)进行专项审计,以及通过多次运行实现增量覆盖。
限制
资料中未提供关于收费、价格、平台支持范围、性能指标或效果保证的具体信息。该技能依赖编码智能体环境运行,需要 Node.js 环境以使用 Skills CLI 和校验脚本。资料中未提供对特定编程语言或框架的支持范围说明。