← 返回 Siami 首頁

Anthropic 開源 AI 漏洞掃描框架「defending-code-reference-harness」:用 Claude 自主發現、驗證、修補程式碼漏洞

▲ 280 💬 96
Anthropic 開源 AI 漏洞掃描框架「defending-code-reference-harness」:用 Claude 自主發現、驗證、修補程式碼漏洞

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 計畫)累積的經驗中,提煉出六個步驟:

  1. 建立威脅模型(Threat Model):決定「什麼才算漏洞」。一個團隊回報:當威脅模型定義清楚時,模型的發現中 90% 是可利用的;另一個團隊則經歷 40% 誤報率,事後才發現是因為模型不懂專案特有的信任邊界。
  2. 建立沙盒(Sandbox):用 gVisor 之類的 microVM 隔離,並把 egress 鎖死。Anthropic 強調:沙盒同時是為了保護你的系統、也是為了證明漏洞可利用。
  3. 探索(Discovery):給模型充足上下文(架構文件、CVE 歷史、git 紀錄),搭配短提示詞與實用工具。
  4. 驗證(Verification):獨立確認哪些發現真的可被利用——這是 Anthropic 強調「瓶頸已轉移」的核心環節。
  5. 分流(Triage):去重、指派嚴重程度、排出修補優先順序。
  6. 修補(Patching):套用修補、驗證漏洞已消解、順便搜尋變種。

一支團隊的關鍵觀察:「給模型測試床(test bed)讓它能跑 PoC,是六週實作中最大的效能槓桿。」

自主 pipeline 的七個內部階段

把第二階段的「沙盒」展開來看,harness 內部其實跑了七個階段:

  1. Build:把目標編進 Docker image,預設開啟 ASAN
  2. Recon:輕量 agent 在網路隔離容器中讀 source code、提出 partition(把目標切成 N 個獨立子系統)
  3. Find:N 個 agent 平行運作,每個在隔離容器內讀 source、構造畸形輸入、跑 ASAN binary,直到某個輸入 3/3 次重現崩潰
  4. Verify:另一個 grader agent 在全新容器中重現崩潰,find agent 與 grader 之間唯一跨界的東西只有 PoC
  5. Dedupe:judge agent 比對已通報的 bug,決定新發現是「新的」、「已知 bug 的更好範例」、還是「重複可跳過」
  6. Report:report agent 為每個獨立 bug 寫出結構化分析(primitive 類別、可達性、提權路徑、嚴重程度)
  7. 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 /customize to port it to your language, detector, or vuln class.”

適用對象

  • 已有 CI/CD 與 threat model 的大型企業資安團隊
  • 開源專案維護者(特別是 C/C++ 專案)
  • 想研究「AI agent 在真實世界資安工作流中的極限」的學術單位

參考連結

網友熱門留言 (5)

#1 Hacker News 用戶 tptacek ▲ 142
這類東西本質上就是『工作坊治具』——就像木工可以買現成的橫切滑車,但大多數木匠會自己做。兩年前自己打造一套漏洞掃描 harness 還需要不少成本,但現在最佳策略是:把這個開源專案當靈感來源,然後直接要求 Claude 依你自己的工作風格、目標設定、警報機制打造客製化版本。
#2 Hacker News 用戶 simonw ▲ 87
我很好奇這套東西跑起來的成本。專案文件寫到:『作為粗略指南,每個 agent 每分鐘會消耗約 10K 未快取輸入 token 與 2K 輸出 token。』也就是說平行跑 10 個 agent 一小時,token 費用可能輕鬆突破數百美元。一般團隊用得起嗎?
#3 Hacker News 用戶 cpard ▲ 64
很明顯 Anthropic 現在正在為特定使用情境打造 harness,再包裝成產品。這個資安版本就等同於『Claude Design 的資安分身』——同樣的底層邏輯、不同的外殼、不同的客戶族群。
#4 Hacker News 用戶 richardbarosky ▲ 51
資安確實是 AI/LLM 最殺手級的應用場景。大量的安全工作就是『把已知漏洞模式對照精確的程式語言文本』做比對——這正是 LLM 最擅長的事。有意思的是,AI 公司最強的應用他們寧可選擇賣給企業,而不是直接釋出消費級工具。
#5 Hacker News 用戶 majicDave ▲ 33
找到單一漏洞永遠比封住所有漏洞容易。駭客手上有同樣的工具,所以這是一場贏不了的軍備競賽。