Anthropic 推出 Claude Code 測試版 Claude Security 外掛:可在終端機中執行的多代理漏洞掃描器
重點速覽
- •Claude Security 外掛可在 Claude Code 工作階段中執行多代理漏洞掃描,涵蓋四個安全類別:injection-and-input、auth-and-access、memory-and-unsafe,以及 crypto-and-secrets。
- •每個候選發現項目都必須通過由三名驗證者組成的小組,評估可達性、影響與防禦,且至少需要 3 票中的 2 票法定門檻,才會納入最終報告。
- •只有當獨立驗證者確認修復處理了該發現項目、未引入新漏洞,且保留既有程式行為時,才會產生修補檔。
- •該外掛需要付費 Claude 方案、Claude Code v2.1.154 或更新版本、Python 3.9.6 或更新版本,以及 Git;所有掃描都會計入方案的 token 限額。
- •Anthropic 將該外掛定位為傳統 SAST 工具的補充,並指出掃描具有非確定性,不會取代靜態分析、相依性掃描或程式碼審查。

Anthropic 已推出 Claude Code 的 Claude Security 外掛測試版。Claude Code 是 Anthropic 以終端機為基礎的代理式程式碼助理,而該外掛將其延伸至安全分析領域;這一領域傳統上由專用的靜態應用程式安全測試(SAST)工具負責。該外掛可直接在既有 Claude Code 工作階段中,對儲存庫執行多代理漏洞掃描,並將使用者選取的發現項目轉換為修補檔,由使用者自行審查並手動套用。Anthropic 在發布時強調該工具的彈性,指出它既可對整個程式碼庫執行全面掃描,也可在提交前立即從終端機檢查變更。
外掛新增了哪些功能
根據官方文件,該外掛引入單一命令 /claude-security,並顯示包含三項工作的選單:
- 掃描程式碼庫 — 整個儲存庫或其指定範圍子集
- 掃描變更 — 分支差異、拉取請求差異或單一提交
- 建議修補 — 將報告中的發現項目轉換為
.patch檔案
安裝需要從 Anthropic 官方 marketplace 執行兩個命令。如果找不到 marketplace,請先執行 /plugin marketplace add anthropics/claude-plugins-official。此外掛原始碼已公開於 claude-plugins-official 儲存庫,目前版本為 0.10.0。
掃描管線的結構
掃描以動態工作流程實作,也就是一個 JavaScript 編排腳本,將工作分派給多個子代理。該腳本定義六個階段:
- 清單盤點:將儲存庫分割為多個元件。每個頂層目錄都必須被掃描,或明確附上理由予以跳過。
- 威脅模型:每個元件由一個建模者負責,產出進入點、匯點、信任邊界,以及研究人員必須完整閱讀的檔案。
- 研究:每個元件 × 類別儲存格由一名研究人員負責。
- 掃掠:補足矩陣未涵蓋區域的缺口。
- 小組審查:三個視角的對抗式驗證,每個視角一名投票者。
- 對抗式階段(僅限 max effort):對邊界保留項目重新進行小組審查,然後對每個通過項目進行紅隊測試。
研究針對四個固定類別進行:injection-and-input、auth-and-access、memory-and-unsafe,以及 crypto-and-secrets。對於完全以記憶體安全語言撰寫的元件,memory-and-unsafe 視角會被省略,這意味著純 Python 或 TypeScript 元件會獲得三個視角,而非四個。
一次執行的作業規模由四個不同的投入層級控制:low、medium、high 與 max。依據所選層級,系統會強制套用特定門檻:在 low 與 medium 層級,元件數上限為 12;在 high 與 max 層級則擴展至 24;矩陣儲存格在較低層級分配 1 名研究人員,在 high 與 max 層級增加至 2 名;缺口補足掃掠次數則從 low 的 0 次、medium 的 1 次,增加到 high 與 max 的 2 次。若處理的是有限範圍或小型差異,流程會壓縮為單一研究人員配置,而非部署完整矩陣。這可確保評估嚴格與目標規模相稱,同時維持相同的驗證標準。
該系統採用依模型分層的代理:編排器在 Opus 上執行,而儲存庫製圖員與唯讀程式碼探索器則在 Sonnet 上執行。研究人員與驗證者會繼承工作階段模型,且掃描代理僅限使用唯讀工具。
發現項目如何進入報告
長期以來,誤報一直是自動化漏洞偵測中的持續挑戰,經常迫使安全團隊分流處理充滿雜訊的報告。該外掛的架構透過以下方式處理此問題:候選發現項目不會僅因為研究人員辨識出它就進入報告。它必須先通過小組審查才會被納入。
每個候選項目都會由三名獨立驗證者評估,每人負責一個視角:REACHABILITY、IMPACT 與 DEFENSES。每名驗證者會回傳 TRUE_POSITIVE 或 FALSE_POSITIVE 的結構化判定,並以一到兩行指出關鍵的 file:line。保留門檻為 3 票中的 2 票。若回傳投票者少於三名,該候選項目完全不能被保留。
小組結果也會限制該發現項目所宣稱的信心水準。3/3 一致通過的小組可允許最高為 high 的信心上限;2/3 法定門檻則將信心上限限制在 medium。發現項目不能宣稱高於其驗證結果所支持的信心。
關鍵在於,計票是由報告渲染器以 Python 計算,而不是由產生發現項目的模型自行宣稱。只有當投票紀錄證明報告中每個發現項目都經過小組審查時,修訂戳記的 verification.status 才會設為 verified;否則會標記為 unverified,並附上原因。這使報告對自身嚴謹性的描述成為可檢查的內容,而不是必須憑信任接受的說法。
掃描會寫入哪些磁碟內容
每次掃描都會在儲存庫內建立一個帶時間戳記的 CLAUDE-SECURITY-<timestamp>/ 目錄,其中包含三項產物:
- CLAUDE-SECURITY-RESULTS.md — 人類可讀的報告。每個發現項目都包含 F1 這類 ID,以及嚴重性(HIGH/MEDIUM/LOW)、信心、CWE ID、精確的匯點行、影響、利用情境、前置條件與建議。使用 CWE(Common Weakness Enumeration)識別碼,可讓發現項目與廣泛採用的 MITRE 分類標準對齊,使結果能與既有漏洞追蹤與修復工作流程互通。
- CLAUDE-SECURITY-RESULTS.jsonl — 相同的發現項目,每行一個 JSON 物件。
- CLAUDE-SECURITY-REVISION-.json — 修訂戳記:掃描了哪個提交、使用何種投入層級、嚴重性計數,以及該次執行經過多完整的驗證。若掃描樹中包含尚未提交的變更,檔名會包含
-dirty。
該目錄是掃描對 checkout 造成的唯一變更,並隨附自己的 .gitignore,因此意外執行 git add 不會將報告一起納入提交。移除該 .gitignore 則可將報告提交,以作為稽核軌跡。
修補檔及其必須證明的三項主張
修復工作會在儲存庫的暫存複製本中開發每個修補檔,確保工作樹與索引完全不受影響。隨後,獨立於撰寫修補檔代理的另一個代理會審查已暫存的差異,並針對該變更執行專案自身的測試套件。
只有當驗證者能有信心地斷言以下三點時,才會寫入修補檔:該變更處理了該特定發現項目、未引入新的漏洞,而且其他行為維持不變——其中,程式碼接受哪些輸入的變更也算作行為變更。任何聲稱修復問題卻削弱安全性的修改,例如放寬驗證檢查或停用測試,都會自動被拒絕。若驗證者無法為三項標準全部背書,系統會提供一段簡短說明,而不是產生修補檔。
修補檔會放在報告的 patches/ 資料夾中,命名為 F<n>.patch。不會自動套用任何內容。修補說明會明確指出是否沒有儲存庫測試涵蓋被修改的程式碼,藉此說明驗證依賴程式碼審查,而非測試執行。Anthropic 建議使用個別拉取請求套用每個修補檔。
需求、成本與信任模型
此外掛需要付費方案與 Claude Code v2.1.154 或更新版本,並在 /config 中啟用動態工作流程。它也需要系統 PATH 上有 Python 3.9.6 或更新版本,並以 python3 執行(僅使用標準函式庫),以及用於變更掃描與修補的 Git。Linux、macOS 與 Windows 皆受支援,且掃描會計入方案的 token 限額。
掃描在使用者工作階段中以其權限執行,本身不增加任何隔離,這表示已提交的 .claude/ 設定、hooks 與 CLAUDE.md 仍會套用。雖然它將儲存庫內容視為資料而非指令,但這並非抵禦惡意儲存庫的防護;Anthropic 建議使用 sandbox-runtime 對不熟悉的程式碼庫進行沙箱隔離。
此外,掃描具有非確定性,且不會取代傳統靜態分析、相依性掃描或程式碼審查。該外掛進入的是一個已有 Semgrep、Snyk 與 SonarQube 等成熟工具的領域,但它透過執行程式碼路徑語意分析的多代理管線與主要依賴模式比對規則的工具區隔開來。作為版本 0.10.0 的測試版產品,其範圍、準確性與功能集仍可能演進。
來源:Claude Security 外掛文件、Claude Security 產品頁面、外掛原始碼,claude-plugins-official、@claudeai 公告,以及 Claude Security 公開測試版部落格