先講結論
- Claude Code 有四種抓資安漏洞的工具:/security-review 指令對目前分支的變更檢查一次;Security Guidance 外掛在 Claude 寫程式時自動檢查;Claude Security 外掛用多個代理深度掃描整個專案;Code Review 是 Team、Enterprise 方案在 GitHub PR 上自動審查的服務。
- 我實測 /security-review:在小專案的分支故意放了 SQL 注入、指令注入和比較隱蔽的 ORDER BY 注入,它三個都抓到,附上攻擊方式和修法。用 Sonnet 跑了 150 秒,背後開了 4 個子代理,用量換算 API 定價約 0.64 美元。
- Claude Code 自己的安全靠權限。官方文件寫,互動式終端機和 VS Code 預設是自動模式,由另一個分類模型判斷動作安不安全;手動模式一開始只能讀,改檔、跑指令前會問你。curl、wget 這類連網指令預設不會自動核准。
目錄
讓 AI 寫程式,最怕兩件事:它寫出有漏洞的程式碼,你沒看出來就上線了;或是它在你的電腦上亂跑指令。搜「Claude Code security」會跑出好幾個名字:/security-review、Security Guidance、Claude Security、Code Review,看起來都在講資安,到底差在哪、該用哪個?
這篇先把四種工具分清楚,再實測最常用、也最便宜的 /security-review,最後講 Claude Code 自己的安全設計。實測是 2026 年 10 月 15 日在我自己的 Mac 上跑的,Claude Code 2.1.280;其他三個工具要不是比較耗用量、就是要 Team 方案以上,照官方文件寫。
四種工具,各在什麼時候用
官方文件把它們排成一層一層的防線:
| 什麼時候 | 工具 | 做什麼 |
|---|---|---|
| 寫程式的當下 | Security Guidance 外掛 | Claude 寫完一段,自動檢查常見的漏洞,當場修掉 |
| 想到就跑一次 | /security-review 指令 |
對目前分支的變更做一次資安檢查 |
| 想到就深掃 | Claude Security 外掛 | 多個代理掃整個專案或一段變更,產生修補檔 |
| 開 PR 的時候 | Code Review(Team、Enterprise) | 在 GitHub 的 PR 上自動審查,留言標出問題 |
另外還有一個給 Enterprise 方案的代管服務,也叫 Claude Security,會持續監看連結的 repo。官方特別說明,這些都不是要取代你原本的靜態分析和套件漏洞掃描工具,而是補在它們旁邊。
實測 /security-review:三個漏洞全抓到
我寫了一個很小的 Python 檔案,主分支是安全的寫法。開一個功能分支,故意改出三個漏洞:
- 查使用者的函式,把參數化查詢改成用 f-string 直接把名字塞進 SQL。
- ping 主機的函式,從
subprocess.run傳參數清單,改成os.system(f"ping -c 1 {host}")。 - 新增一個查訂單的函式,關鍵字有用參數化,但排序欄位
ORDER BY是直接把呼叫者給的字串接上去。
前兩個是教科書等級的漏洞,第三個比較隱蔽,關鍵字那段看起來寫得很正確。
用法很簡單:在專案資料夾打開 Claude Code,切到要檢查的分支,輸入 /security-review。我是用 claude -p 非互動模式跑的,只給它讀檔和 git 查詢的權限,模型用 Sonnet。結果三個都抓到了:
| 它找到的 | 嚴重度 | 它的說明 |
|---|---|---|
| 查使用者的 SQL 注入 | 高 | 輸入 ' OR '1'='1' -- 就能撈出整張使用者表,建議改回參數化查詢 |
| ping 的指令注入 | 高 | 主機名稱會原封不動丟給 shell,可以夾帶任意指令,建議改回 subprocess.run 傳清單 |
| 查訂單的 ORDER BY 注入 | 中 | 關鍵字有參數化,但排序欄位沒有限制,可以用 CASE WHEN 做盲注推出別張表的資料,建議用白名單限制欄位 |
第三個的說明讓我印象最深:它沒有直接說「可以一次跑多條 SQL」,而是先說明 Python 的 sqlite3 不允許一次執行多條指令,所以那條路走不通,再指出實際可行的攻擊方式是靠排序結果一位一位猜資料。每個問題都附了檔案和行號、攻擊情境和修法。
花了多少:整個跑了 150 秒。從回傳的統計看,它在背後開了 4 個子代理,用的是 Sonnet,輸出約 1.7 萬個 token,Claude Code 換算成 API 定價約 0.64 美元。用 Pro 或 Max 訂閱的話,這是從你的額度扣,不會另外收錢。我的分支只改了 13 行;改得越多,用量越大。用量怎麼看,在 Claude Code 用量怎麼看。
要先知道的一個坑:/security-review 是比對你的分支和 origin 預設分支的差異,所以專案一定要有 origin 遠端,而且本機要有 origin/HEAD 這個參照。缺的時候會出現 ambiguous argument 'origin/HEAD...' 的錯誤。官方的解法是執行 git remote set-head origin 加上預設分支名稱(例如 main),或先 git fetch origin 再 git remote set-head origin --auto。我建測試專案時,就是先推上去再用 --auto 設好的。
Security Guidance 外掛:寫的時候就檢查
這是裝了就自動運作的外掛,不用記任何指令。Claude 每改一段程式,它會檢查常見的漏洞,例如注入、不安全的反序列化、不安全的網頁 DOM 用法,發現了就在同一個對話裡修掉,讓問題不要流到 PR 去。
安裝是在 Claude Code 裡輸入:
/plugin install security-guidance@claude-plugins-official
要先知道的是,它需要 Python 3.7 以上,部分檢查要 3.10;第一次執行時,會在 ~/.claude/security/ 建一個虛擬環境、裝 Claude Agent SDK 進去,所以要能連網。專案要是 git repo,有幾種檢查才會跑。外掛怎麼裝、怎麼判斷能不能信任,在 Claude Code 外掛教學。
Claude Security 外掛:多個代理深度掃描
這是要你主動執行的深度掃描。裝好之後輸入 /claude-security,會出現三個選項:掃整個專案、只掃一段變更、產生修補檔。官方文件描述的流程是:一組 Claude 代理先理解專案架構、建立威脅模型、找漏洞,每個發現再由別的代理獨立複查,最後寫成報告。
修補檔不會自動套用,會放在報告資料夾裡,你自己用 git apply 一個一個套,官方建議每個修補開一個 PR。
條件比較多:要付費方案或 API;Pro 方案要先在 /config 打開 Dynamic workflows;要 Python 3.9 以上;只掃變更時要 git。官方也直接提醒,掃描可能要跑一陣子、用掉相當多的 token,而且掃的時候 Claude Code 要一直開著。所以我這次沒有跑它。
Code Review:PR 上的自動審查
這是 Team 和 Enterprise 方案的服務,還在研究預覽。接上 GitHub 之後,它會在每個 PR 用一組代理看整個程式庫的脈絡,把邏輯錯誤、資安漏洞、退化標在對應的那一行。官方寫平均 20 分鐘完成,費用跟 PR 大小和複雜度成正比;它只留言、不會擋 PR。可以在 repo 裡放 CLAUDE.md 或 REVIEW.md 調整它要抓什麼。
不是 Team 方案、又想在 GitHub 上自動跑,可以用 Claude Code 的 GitHub Actions,裝法在 Claude Code GitHub。
Claude Code 本身安不安全
另一半的問題是:Claude Code 在你電腦上做事,會不會亂來?官方文件的答案是權限:
- 權限模式:官方文件寫,互動式終端機和 VS Code 預設是自動模式,由另一個分類模型審查每個動作,擋掉它判斷不安全的;手動模式則一開始只能讀檔,要改檔、跑測試、執行指令前都會問你,你可以只允許這一次或以後都允許。
- 工作資料夾的邊界:手動模式下,要讀寫啟動資料夾以外的檔案前會先問你。官方也提醒,這只是一個確認提示,你允許的指令本身還是可以寫到別的地方。
- 沙盒:用
/sandbox可以把它執行的指令關在沙盒裡,限制能寫的資料夾和能連的網路。 - 連網的指令:
curl、wget這類從網路抓東西的指令,預設不會自動核准。這是防「提示注入」的一環,也就是有人在網頁或檔案裡藏指令,想騙 AI 照做。
權限模式怎麼切、計畫模式怎麼用,在 Plan Mode 規劃模式教學 和 Claude Code 教學。
這篇沒有測的
Security Guidance 外掛、Claude Security 外掛、Code Review 服務、Enterprise 的代管掃描,都沒有實際跑;/security-review 只測了一個 13 行的小分支和 Python,沒有測大專案和其他語言;權限模式和沙盒的行為依官方文件。
常見問題
Claude Code 的 /security-review 怎麼用?
在專案資料夾打開 Claude Code,切到要檢查的分支,輸入 /security-review。它會比對你的分支和 origin 預設分支的差異,找注入、權限、資料外洩這類問題。專案要有 origin 遠端;出現 ambiguous argument 'origin/HEAD' 的錯誤,官方的解法是執行 git remote set-head origin 加上預設分支名稱。
/security-review 要錢嗎?很耗用量嗎?
它算在你的 Claude Code 用量裡。我拿一個只改了 13 行的小分支測,Sonnet 跑了 150 秒、開了 4 個子代理,輸出約 1.7 萬個 token,換算 API 定價約 0.64 美元;用 Pro 或 Max 訂閱的話是從額度扣。變更越多,用量越大。
Security Guidance 和 Claude Security 外掛差在哪?
Security Guidance 是裝了就自動運作,Claude 寫程式時順便檢查自己剛寫的東西,當場修掉;Claude Security 是要你主動執行 /claude-security,用多個代理深度掃描整個專案或一段變更,再產生修補檔讓你自己套用,官方提醒會用掉相當多的 token。
Claude Code 安全嗎?會不會亂刪我的檔案?
它能做什麼取決於權限模式。手動模式一開始只能讀,改檔、執行指令前都會問你;官方文件寫,互動式終端機和 VS Code 預設是自動模式,由另一個分類模型判斷動作安不安全、擋掉危險的。也可以用 /sandbox 把指令關在沙盒裡,限制能寫的資料夾和能連的網路。
這篇怎麼查證的
這篇只有一部分實際跑過,其餘依官方文件整理,查證日期 2026/10/15(Claude Code 2.1.280,在我自己的 Mac 上用 claude -p 執行 /security-review,模型用 Sonnet,只給它讀檔和 git 查詢的權限。測試專案是我自己寫的一個 Python 小檔案,在功能分支故意放了三個漏洞,origin 是本機建的空 repo。Security Guidance 外掛、Claude Security 外掛、Code Review,以及 Claude Code 本身的安全設計,依官方文件,2026 年 10 月 15 日讀取)。哪些有跑、哪些沒跑,文中各段有寫。價格與方案以官方頁面為準,工具改版後內容可能過期。
- Claude Code 官方文件:Commands(/security-review)
- Claude Code 官方文件:Catch security issues as Claude writes code(Security Guidance)
- Claude Code 官方文件:Scan your codebase for vulnerabilities(Claude Security)
- Claude Code 官方文件:Code Review
- Claude Code 官方文件:Security
- Claude Code 官方文件:Error reference(/security-review fails without origin/HEAD)