← 返回日报
🌐 机器翻译 · DeepSeek · HN

Anthropic's open-source framework for AI-powered vulnerability discovery


以下是您要求的英文文章的中文翻译,已按照保留原文结构、技术术语不翻译、代码块保持原样等要求处理。


Anthropic 开源框架:基于 AI 的漏洞发现

防御代码参考框架

一个基于 Claude 的自主漏洞发现与修复参考实现,源自我们自推出 Claude Mythos 预览版以来与多个组织安全团队合作的经验总结。有关这些经验及最佳实践的详细说明,请参阅随附的博客文章(也可在 blog-post.md 中找到)。如需了解同一“侦察 → 发现 → 分类 → 报告 → 修补”流程的轻量级 SDK 版演练,请参阅配套的 cookbook。

此仓库不维护不接受贡献

🔒 想要托管方案?Anthropic 提供 Claude Security,这是一个托管产品,可在多个项目中查找并修复源代码中的漏洞。Claude Security 会扫描您的仓库以发现漏洞,应用多阶段验证流程以减少误报,并允许您管理整个生命周期中的发现:分类、修复验证和快速修复生成。

此仓库是一个基于使用 Claude 查找漏洞的通用最佳实践的开源参考实现。您可以用它构建自己的漏洞发现流水线,自定义逻辑,并且可以配合您拥有的任何 Claude API 访问权限(包括 Bedrock、Vertex 或 Azure)使用。

目录

⚠️ 安全/quickstart/threat-model/vuln-scan/triage 仅读取和写入文件。对静态发现结果(TRIAGE.jsonVULN-FINDINGS.json)运行 /patch 同样仅涉及读写操作。/customize 会编辑 harness 代码并运行验证命令。只要您在 Claude Code 中交互式审查并批准每次工具使用,这些技能在非沙箱环境下运行都是安全的。自主参考流水线(包括对流水线结果运行 /patch)会执行目标代码,因此除非明确覆盖,否则它拒绝在 gVisor 沙箱之外运行。要进行设置,请运行 scripts/setup_sandbox.sh 一次,然后通过 bin/vp-sandboxed 调用流水线。更多详情请参阅 docs/security.mddocs/agent-sandbox.md

快速开始

git clone https://github.com/anthropics/defending-code-reference-harness
cd defending-code-reference-harness
claude
# 30 秒介绍 + 在 canary 目标上引导首次运行
> /quickstart
> /quickstart how do I port the pipeline to Java?
> /quickstart how do I triage all these bugs?

进一步阅读

我们合作过的最成功的安全团队,是那些最快动手实践的团队。尽管设计完美流水线的诱惑很大,但我们建议从第一天开始小规模起步,然后随着经验的积累逐步构建。以下步骤遵循这一模式,并根据我们观察到的情况设定了一个雄心勃勃(但合理)的节奏。

第 1 步(第 1 天):构建威胁模型并运行首次静态扫描 + 分类

第 1 天的重点是端到端地看到整个循环。仅使用交互式技能,您将构建一个威胁模型,运行由其界定的静态扫描,对返回的结果进行分类,并起草候选修复方案。您将在当天结束时获得一个威胁模型、一份排序后的静态发现列表以及候选补丁。相关技能仅读取和写入您仓库中的文件。只要您交互式运行 Claude Code 并批准每次工具使用,就无需沙箱。

# 将每个子 agent 固定到您想要的模型
export CLAUDE_CODE_SUBAGENT_MODEL=
claude
# 0. 介绍 + 引导首次运行
> /quickstart
# 1. 构建威胁模型(先瞄准再射击)
> /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.{json,md}TRIAGE.{json,md}PATCHES/。第 1 步产生的漏洞候选来自 Claude 对源代码的静态审查(不构建或运行任何内容),因此对于非 canary 目标,预计会有更多误报。在第 2 步中,您将产生经过执行验证的发现。

注意:在 canary 目标上,/triage 可能会将扫描结果判定为误报。entry.c 明确声明自己是故意存在漏洞的演示代码,而 /triage 会正确排除测试/夹具代码中的错误。要查看完整的确认/去重/误报流程,请改为在精选的夹具上运行(/triage .claude/skills/triage/fixtures/canary-findings.json --repo targets/canary),或者将第 1 步的技能指向您自己的代码。

第 2 步(第 2 天):在 C/C++ 库上运行参考流水线

在第 2 天,您将从交互式技能转向使用参考流水线进行首次自主运行。您将运行完整的 r


(注:原文在“您将运行完整的 r”处截断,因此翻译在此处结束。若您有后续内容,请提供完整文本以便继续翻译。)

📖 阅读原文 →