Anthropic 為旗下開發工具「Claude Code」推出以 AI 掃描程式碼漏洞的測試版外掛程式「Claude Security」。只要在終端機輸入 /claude-security,多個代理人便會檢查整個程式碼庫或一批變更,再把找到的問題整理成候選的修補檔。它的設計目標,是把安全檢查融入日常開發流程,從提交前的快速查看,到對整個程式碼庫的正式稽核,都不打斷你的開發節奏。

從終端機呼叫三種工作

Claude Security 在已經開啟的 Claude Code 工作階段中運作。輸入 /claude-security 會開啟一個包含三種工作的選單。

「Scan codebase」檢查整個程式碼庫,或其中限定的一部分。「Scan changes」只檢查某個分支的差異、拉取請求的差異,或單次提交。「Suggest patches」則把掃描列出的問題轉換成 .patch 檔。由於它使用你本來就在執行的 Claude 推論,無需切換到另一款掃描器。

從 Anthropic 官方市集安裝只需兩道指令:

/plugin install claude-security@claude-plugins-official
/reload-plugins

若找不到市集,請先執行 /plugin marketplace add anthropics/claude-plugins-official。外掛程式的原始碼在 claude-plugins-official 儲存庫公開,撰稿時的版本為 0.10.0。

由六個階段的多代理人完成檢查

掃描本身被建構成把工作分派給多個子代理人的動態工作流程,分為六個階段。「Inventory」把程式碼庫依元件切分;「Threat model」梳理各元件的進入點、匯聚點與信任邊界;「Research」逐一調查;「Sweep」補上遺漏;「Panel」從三個角度進行驗證;僅在最高強度下才執行的「Adversarial」再對存活的候選發動攻擊。

調查依四個類別進行:injection-and-input(輸入與注入)、auth-and-access(認證與存取)、memory-and-unsafe(記憶體安全)、crypto-and-secrets(加密與機密資訊)。對於完全以 Python、TypeScript 等記憶體安全語言撰寫的元件,會拿掉記憶體相關的角度,改為三個角度。

處理規模可在 low、medium、high、max 四檔之間調整。元件上限從 low 與 medium 的 12 提升到 high 與 max 的 24,調查人數也在 high 以上從 1 人增為 2 人。當差異較小時,流程會壓縮為單人配置,使評估與目標規模相稱。代理人依角色分配模型:統籌者由 Opus 擔任,程式碼庫測繪與唯讀探索由 Sonnet 負責,掃描用的代理人被限制為唯讀工具。

先通過驗證再寫入報告

Claude Security 值得注意的一點,是它寫入報告的門檻之嚴。候選問題不會因為「被找到了」就進入報告。三名彼此獨立的驗證者分別就 REACHABILITY(可達性)、IMPACT(影響)、DEFENSES(防禦)作出判斷,判定問題是真實存在還是誤報,並指出起決定作用的那一行。只有三票中有兩票一致,問題才會保留;若湊不齊三票,就完全不予保留。只有三票一致時,才能把信心度上限提到「high」,二比一時則以「medium」為上限。

這項計票由撰寫報告的程式在程式碼層面完成,而不是由提出問題的模型自行斷言。只有當投票紀錄能證明每一條結論都經過驗證時,該次執行才會被標記為「已驗證」;否則會附上理由記為「未驗證」。這讓報告對自身嚴謹程度的說法,成為可以核對、而非只能相信的東西。

每次掃描都會往一個帶時間戳記的資料夾寫入三種產物:供人閱讀的報告、每行一條結論的 JSON 清單,以及記錄掃描了哪次提交、強度如何的修訂戳記。報告中的每一條都帶有識別碼、嚴重程度、信心度、CWE 編號、問題所在的確切行,以及假想的攻擊情境。該資料夾自帶 .gitignore,以免一次誤用的 git add 把報告混進提交。

修復只到修補檔建議,是否套用由人決定

修復用的修補檔,是在程式碼庫的一次性複製中產生的,因此絕不碰觸你的工作樹與暫存區。由與撰寫修補檔者不同的另一個代理人審查差異,並執行專案自帶的測試。

只有當驗證者能有把握地聲明「只修復了這一個問題」「沒有引入新的漏洞」「其餘行為維持不變」這三點時,才會寫出修補檔。程式碼所接受的輸入發生變化也算行為變化;任何一邊聲稱修復、一邊削弱安全性的變更,例如放寬認證檢查或停用測試,都會被自動否決。當無法滿足這些條件時,你得到的不是修補檔,而是一段說明原因的簡短備註。產生的修補檔不會自動套用,開發者需以 git apply 手動套用,Anthropic 建議每個修補檔透過各自獨立的拉取請求併入。

使用條件與注意事項

使用需要付費方案,以及 Claude Code v2.1.154 或更新版本,並在設定中啟用動態工作流程。此外還需要能以 python3 呼叫的 Python 3.9.6 或更新版本,以及用於變更掃描與套用修補檔的 Git。支援 Linux、macOS 與 Windows,掃描會計入你方案的權杖額度。

由於掃描在你的工作階段中、以你的權限執行,它本身不提供任何隔離。已提交的設定與掛鉤照樣生效,因此 Anthropic 提醒,在掃描來路不明的程式碼前,應先以其他方式將其沙箱化。結果每次並不完全相同,該工具被定位為對傳統靜態分析、相依性掃描與人工審查的補充,而非取代。

總結

Claude Security 是一款在 Claude Code 工作階段內執行、由六階段多代理人完成檢查、只報告通過三角度驗證問題的漏洞掃描外掛程式。計票在程式碼層面完成,執行是否通過驗證也留有紀錄。修復僅止於修補檔建議,是否套用始終由人決定。既能從終端機輕鬆融入日常開發,又透過相應設計讓報告的嚴謹程度事後可核對,這有望成為它有別於其他工具之處。