Anthropic 近日在 GitHub 開源了一套名為「defending-code-reference-harness」的參考實作,把 Claude Opus 變成一套可自主運作的漏洞掃描工程師。這套工具的核心訊息是:LLM 在漏洞『發現』階段已經被平行化得很成熟,真正的瓶頸已經轉移到『驗證、分類、修補』三個下游環節。
開源內容與定位
這個 repository 並不是一個「產品」,而是一套可重複使用的 reference pipeline:
- Claude Code 互動技能:
/quickstart、/threat-model、/vuln-scan、/triage、/patch、/customize——在 Claude Code 互動模式下逐步引導使用者建立威脅模型、掃描、分類、修補 - 自主 pipeline(harness/):重現一次完整的 recon → find → verify → report → patch 流程,預設用 Docker 與 ASAN(Address Sanitizer)針對 C/C++ 記憶體漏洞
- 沙盒機制:所有 agent 與目標程式都跑在 gVisor 隔離容器內,egress 僅開放給 Claude API,避免 agent「飛出沙盒」
README 一開頭就提醒:「This repo is not maintained and is not accepting contributions.」——Anthropic 想表達的是:把它當作最佳實踐的展示,歡迎大家複製改造,不要期待他們維護這個 repo。
對應的商業版本是 Claude Security,定位是託管服務,會自動掃描 repo、跑多階段驗證降低誤報,並管理「分流→修補驗證→快速修補產生」的完整生命週期。
六大階段:「找-修迴圈」
Anthropic 從與多個安全團隊合作(Glasswing 計畫)累積的經驗中,提煉出六個步驟:
- 建立威脅模型(Threat Model):決定「什麼才算漏洞」。一個團隊回報:當威脅模型定義清楚時,模型的發現中 90% 是可利用的;另一個團隊則經歷 40% 誤報率,事後才發現是因為模型不懂專案特有的信任邊界。
- 建立沙盒(Sandbox):用 gVisor 之類的 microVM 隔離,並把 egress 鎖死。Anthropic 強調:沙盒同時是為了保護你的系統、也是為了證明漏洞可利用。
- 探索(Discovery):給模型充足上下文(架構文件、CVE 歷史、git 紀錄),搭配短提示詞與實用工具。
- 驗證(Verification):獨立確認哪些發現真的可被利用——這是 Anthropic 強調「瓶頸已轉移」的核心環節。
- 分流(Triage):去重、指派嚴重程度、排出修補優先順序。
- 修補(Patching):套用修補、驗證漏洞已消解、順便搜尋變種。
一支團隊的關鍵觀察:「給模型測試床(test bed)讓它能跑 PoC,是六週實作中最大的效能槓桿。」
自主 pipeline 的七個內部階段
把第二階段的「沙盒」展開來看,harness 內部其實跑了七個階段:
- Build:把目標編進 Docker image,預設開啟 ASAN
- Recon:輕量 agent 在網路隔離容器中讀 source code、提出 partition(把目標切成 N 個獨立子系統)
- Find:N 個 agent 平行運作,每個在隔離容器內讀 source、構造畸形輸入、跑 ASAN binary,直到某個輸入 3/3 次重現崩潰
- Verify:另一個 grader agent 在全新容器中重現崩潰,find agent 與 grader 之間唯一跨界的東西只有 PoC
- Dedupe:judge agent 比對已通報的 bug,決定新發現是「新的」、「已知 bug 的更好範例」、還是「重複可跳過」
- Report:report agent 為每個獨立 bug 寫出結構化分析(primitive 類別、可達性、提權路徑、嚴重程度)
- Patch(獨立指令):patch agent 寫修補,grader agent 確認新 code 能 build、原始 PoC 已不再崩潰
為什麼要開源?
Anthropic 在 claude.com/blog/using-llms-to-secure-source-code 的附帶部落格文章中透露,截至 2026 年 5 月 22 日,他們在自家掃描中已揭露 1,596 個漏洞——其中僅 97 個被修補。這顯示出:「發現」已不是問題,「修補」才是。
開源這套 reference harness 的目的不是讓大家都用同一套,而是讓所有資安團隊都能快速客製化自己的版本。README 寫得很直白:
“The general shape, prompts, and sandboxing are reusable, but the harness will not work on every codebase out of the box. Run
/customizeto port it to your language, detector, or vuln class.”
適用對象
- 已有 CI/CD 與 threat model 的大型企業資安團隊
- 開源專案維護者(特別是 C/C++ 專案)
- 想研究「AI agent 在真實世界資安工作流中的極限」的學術單位
參考連結
- GitHub Repo: github.com/anthropics/defending-code-reference-harness
- Anthropic 官方部落格: Using LLMs to secure source code
- Claude Security 商業版: claude.com/product/claude-security
- Glasswing 計畫: anthropic.com/glasswing
網友熱門留言 (5)