WayToClawEarn
进阶阅读约 30 分钟2026年6月5日

如何用 Anthropic 开源框架搭建 AI 漏洞自动发现与修复管线:30 分钟完整教程

30 分钟从零到一:用 Claude Code 自动化代码安全审计

进阶 · 30 分钟 · 2026年6月5日

教程目标

本教程带你从零搭建 Anthropic 开源的 AI 漏洞自动发现管线,30 分钟内跑通完整的威胁建模→沙箱扫描→验证→修复流程。这个框架已在真实代码库中发现 1,596 个漏洞(截至 2026 年 5 月),核心发现是:漏洞发现已经可以大规模并行化,真正的瓶颈已经从"发现"转移到了"验证、分类和修复"。

前置条件

  • 已安装 Docker(用于 gVisor 沙箱)
  • 已安装 Claude Code(通过 npm install -g @anthropic-ai/claude-code 或同类方式)
  • 有效的 Anthropic API Key 或 Claude Code OAuth Token
  • Python 3.11+ 和 Git

Step 1:克隆项目并初始化(5 分钟)

terminal
git clone https://github.com/anthropics/defending-code-reference-harness
cd defending-code-reference-harness
claude

# 30 秒快速入门,引导你了解整个项目结构
> /quickstart

/quickstart 会引导你完整体验一次完整的交互式扫描流程:它会加载项目结构、介绍可用的 Claude Code Skills,并引导你在内置的 canary 靶机代码上完成一次端到端扫描。你可以在 5 分钟内看到这个流程的全部输出。

Step 2:建立威胁模型 + 首次静态扫描(Day 1,10 分钟)

任何有效的漏洞发现都始于一个好的威胁模型。Anthropic 与多个安全团队的合作经验表明:当威胁模型明确定义后,模型发现的漏洞有 90% 被确认为真正可利用的

terminal

# 导出模型选择(推荐固定模型避免子 Agent 混用)
export CLAUDE_CODE_SUBAGENT_MODEL=claude-opus-4-8

# 1. 基于代码、架构文档和 CVE 历史生成威胁模型草稿
> /threat-model bootstrap targets/canary

# 2. 在威胁模型范围内运行静态扫描
> /vuln-scan targets/canary

# 3. 验证、去重、排序扫描结果
> /triage targets/canary/VULN-FINDINGS.json

# 4. 为已验证的发现生成候选修复
> /patch ./TRIAGE.json --repo targets/canary

四个命令完成后,你会得到一个完整的输出包:THREAT_MODEL.mdVULN-FINDINGS.jsonTRIAGE.jsonPATCHES/ 目录。整个过程不需要沙箱——这些 Skills 只读写文件,在交互式 Claude Code 中手动审核每个工具调用即可。

Step 3:运行自主管线(Day 2,10 分钟)

从 Day 2 开始,从交互式 Skills 切换到自主管线模式。管线在 gVisor 沙箱中运行,每个 Agent 都在隔离容器内执行,网络仅允许出站到 Claude API。

terminal

# 一次性环境搭建
python3 -m venv .venv && .venv/bin/pip install -e .
./scripts/setup_sandbox.sh  # 安装 gVisor、构建 Agent 镜像、验证隔离

# 导出 API Key(管线需要)
export ANTHROPIC_API_KEY=你的密钥

# 运行完整的 Recon → Find → Verify → Report 循环
bin/vp-sandboxed run drlibs --model claude-opus-4-8 --runs 3 --parallel --stream --auto-focus

# 为发现生成补丁
bin/vp-sandboxed patch results/drlibs/<timestamp>/ --model claude-opus-4-8

管线的七个阶段详解:

  1. Build(构建):将目标编译成带 ASAN(C/C++ 内存错误检测器)的 Docker 镜像
  2. Recon(侦察):轻量 Agent 读取源码,将代码分成 N 个独立的输入解析子系统供并行攻击
  3. Find(发现):N 个 Agent 并行运行,各自构造恶意输入,直到某输入连续 3 次触发 ASAN 崩溃
  4. Verify(验证):独立的评分器 Agent 在新容器中复现崩溃,确保不是 find Agent 的环境残留
  5. Dedupe(去重):裁判 Agent 对比新旧漏洞,判断是新漏洞、已知漏洞的更好案例,还是需跳过的重复项
  6. Report(报告):报告 Agent 为每个独特漏洞生成结构化可利用性分析
  7. Patch(修复):补丁 Agent 生成修复,评分器确认修复后原 PoC 不再崩溃、测试套件仍通过、新 find Agent 找不到绕过方式

管线7阶段流程图

Step 4:定制管线适配自己的代码库(Days 3-5)

管线的参考实现针对 C/C++ 内存漏洞,但整体架构是通用的。移植到新语言或漏洞类别只需回答三个问题:

问题C/C++ 参考实现你的目标(示例)
什么信号表示发现?ASAN 崩溃签名异常 / canary 文件 / DNS 回调
PoC 长什么样?崩溃输入文件HTTP 请求序列 / 交易列表 / 测试 harness
如何构建和运行目标?Dockerfile(clang + ASAN)你用语言的标准构建方式
terminal
claude

# 快速入门指南教你怎么做定制
> /quickstart 怎么为 ~/code/my-service 定制?

# 先生成威胁模型,然后扫描
> /threat-model bootstrap-then-interview ~/code/my-service
> /vuln-scan ~/code/my-service
> /triage ~/code/my-service/VULN-FINDINGS.json --repo ~/code/my-service

# 用上面产出的产物驱动定制
> /customize use ~/code/my-service/{THREAT_MODEL.md,VULN-FINDINGS.json} and ./TRIAGE.md

# 定制完成后,用一次扫描验证
bin/vp-sandboxed run my-service --model claude-opus-4-8 --runs 1

Claude Code 终端扫描界面

Step 5:规模化自主扫描(Week 2+)

完成定制后,进入外部循环:多轮管线扫描 → 跨轮去重分类 → 优先级排序修复 → 重复。

terminal

# 多轮并行扫描你的目标
bin/vp-sandboxed run my-service --model claude-opus-4-8 --runs 5 --parallel --stream --auto-focus

# 对多轮结果做跨轮去重和优先级排序
> /triage results/my-service/ --repo ~/code/my-service --auto --votes 5

# 从优先级最高的发现开始修复
> /patch results/my-service/<timestamp>/ --model claude-opus-4-8

关键洞察:每一轮修复成功后,模型下一轮发现的就是更深、更隐蔽的漏洞。不要期望第 N 轮后没有新发现——模型是随机的,大型代码库的漏洞长尾会持续不断涌现。把这想象成一个持续的"攻击-防御-再攻击"循环,而不是一次性的安全审计。

安全注意事项

  • 交互式 Skills(/quickstart/threat-model/vuln-scan/triage)只读写文件,安全可靠
  • 自主管线会执行目标代码,必须运行在 gVisor 沙箱中(脚本会自动处理)
  • 永远不要让 Agent 访问 ~/.aws~/.ssh.env 文件
  • 沙箱只在环境搭建阶段有网络访问——拉取依赖、构建、安装工具后即移除

核心要点

  1. 威胁模型先行:给模型明确的安全边界,假阳性率从 40% 降至接近 0%。一个团队的 CISO 总结得很精辟:"模型对代码理解很好,但对我们的上下文理解不够。"
  2. 规模化发现、集中化验证:1,596 个漏洞被发现,但只有 97 个被修复——真正的瓶颈是验证环节。sandbox + PoC 复现是最有效的验证手段。
  3. 沙箱双重目的:既保护你的系统(隔离 Agent),也证明漏洞的可利用性(让 Agent 实际触发 PoC)。只读代码的静态分析会产生大量不可利用的误报。
  4. 不要花数月时间打造"完美"管线:Anthropic 的安全合作伙伴中,最成功的是那些 Day 1 就动手、边做边学的团队。先跑通参考管线,再逐步定制。

相关阅读

推荐工具:本教程依赖 Claude Code 和 Anthropic Claude Opus 4 系列模型。如需降低 API 成本,可参考本站的 DeepSeek V4 替代方案教程。Anthropic 也提供商业化托管产品 Claude Security,适合不想自己维护管线的团队。

免责声明:本站案例均为知识分享内容,仅供灵感与参考,不构成收益承诺;由此进行的外部执行与结果请自行判断并承担相应责任。

相关推荐