/security-review 對您的分支執行單一掃描,而 Code Review 檢查 pull request。如需了解這些層級如何堆疊,請參閱 此 plugin 如何與其他安全工具配合。
先決條件
若要執行此外掛程式,您需要:- Claude Code v2.1.154 或更新版本,在付費方案上,用於掃描用來協調其代理的動態工作流程。在 Pro 上,從
/config中的「動態工作流程」列啟用它們。 - Python 3.9.6 或更新版本,在您的
PATH上可用為python3。使用python3 --version檢查。此外掛程式的工具僅使用 Python 標準程式庫,因此不會安裝任何內容。 - Linux、macOS 或 Windows。
- Git,用於變更掃描和將發現轉換為修補程式;這些工作不支援其他版本控制系統。完整掃描在任何目錄中都有效,無論是否有版本控制。
安裝外掛程式
在 Claude Code 工作階段中,從官方 Anthropic 市集安裝:- 如果它報告
Marketplace "claude-plugins-official" not found,使用/plugin marketplace add anthropics/claude-plugins-official新增市集,然後重試安裝。 - 如果它報告在市集中找不到外掛程式,檢查外掛程式名稱是否有拼寫錯誤,然後使用
/plugin marketplace update claude-plugins-official重新整理您的市集本地副本,並重試安裝。
/reload-plugins 在目前工作階段中啟用外掛程式,這會套用待處理的外掛程式變更而無需重新啟動:
解除安裝外掛程式
若要移除外掛程式,從/plugin 功能表解除安裝它,或在您的終端中執行 claude plugin uninstall claude-security。
掃描和修復您的程式碼庫
此外掛程式新增一個命令/claude-security,它開啟其三個工作的功能表:掃描程式碼庫、掃描一組變更和建議修補程式。快樂路徑執行完整掃描,然後將其發現轉換為修補程式:
1
開啟 Claude Security 功能表
執行
/claude-security 並選擇 Scan codebase。2
選擇要掃描的內容
外掛程式首先讀取您的儲存庫,然後提供整個儲存庫或聚焦區域,每個選項都說明檔案計數和相對成本。選擇整個儲存庫,或回答「我不知道」,外掛程式會為您的儲存庫大小選擇合理的預設值。
3
確認執行
掃描可能需要一段時間,可能使用大量令牌,並需要 Claude Code 在完成時保持開啟。在您確認之前,不會執行任何操作。
4
讀取報告
掃描執行時,它會在每個階段開始時報告,詳細資訊可在
/workflows 下取得。結果進入您儲存庫中的時間戳記目錄,如讀取掃描結果中所述。5
將發現轉換為修補程式
再次執行
/claude-security 並選擇 Suggest patches,然後選擇要解決的發現。已檢查的修補程式進入報告的 patches/ 資料夾;修復發現涵蓋每個修補程式的建立和檢查方式。6
應用您接受的修補程式
從您的 shell 使用
git apply 應用每個修補程式,在其自己的提取請求中。修補程式永遠不會自動應用。/claude-security scan my branch,或以純文字形式,例如「scan commit abc1234」。此外掛程式在自動模式中效果最佳,這讓掃描的代理在每一步都無需權限提示即可進行;當工作開始時,外掛程式會提醒您如何啟用它。
僅掃描您的變更
當您的分支有其基礎沒有的提交時,/claude-security 功能表會提供僅掃描該差異的選項,以便您可以在合併前檢查分支。您也可以掃描您的一個開啟提取請求,或通過要求它來掃描單一提交,例如「scan commit abc1234」。僅掃描已提交的變更:首先提交或 stash 進行中的編輯,或執行完整掃描,它會讀取工作樹。
變更掃描需要 git 儲存庫;未版本控制目錄的完整掃描仍然有效。尋找您的開啟提取請求是唯一到達網路的步驟,僅當您的工作階段已有權限執行 GitHub CLI 且 gh 已登入時才提供。
限制大型儲存庫的範圍
在大型儲存庫上,一次掃描一個區域而不是整個樹。選擇外掛程式提供的聚焦範圍之一,例如您的 API 層或您的驗證程式碼,執行會根據您選擇的內容調整大小。報告的涵蓋範圍部分說明檢查了什麼和未檢查什麼。隨時在不同區域執行另一次掃描。讀取掃描結果
每次掃描都會將其結果寫入您儲存庫中的時間戳記CLAUDE-SECURITY-<timestamp>/ 目錄:
CLAUDE-SECURITY-RESULTS.md:報告,包含每項發現的 ID,例如F1,加上其影響、利用情景、嚴重性、信心和建議CLAUDE-SECURITY-RESULTS.jsonl:相同的發現以機器可讀形式,每行一個 JSON 物件CLAUDE-SECURITY-REVISION-<commit>.json:修訂戳記,記錄掃描了哪個提交、付出了多少努力、未提交的變更是否是掃描樹的一部分,以及執行的驗證程度如何,因此報告始終與其描述的程式碼相關聯。版本控制外的掃描在提交位置戳記UNVERSIONED
.gitignore,因此隨意的 git add 永遠不會將報告掃入提交。若要在歷史記錄中保留報告以進行稽核追蹤,刪除該一個 .gitignore 檔案並像任何其他檔案一樣提交目錄。
發現僅在獨立驗證代理分析它們後才出現在報告中,這使報告簡短且值得閱讀。掃描是非確定性的:同一程式碼的兩次掃描可能會發現不同的發現。定期執行掃描,並使用修訂戳記將每份報告歸因於它涵蓋的確切程式碼和設定。
修復發現
通過從/claude-security 功能表選擇 Suggest patches 開始修復流程,或以純文字形式要求,例如「fix finding F3」,然後選擇要解決的報告中的發現。修補程式是針對已提交的程式碼建立的,報告必須仍然描述您擁有的程式碼:其程式碼已更改的發現會被跳過並附帶說明,外掛程式會提供新鮮掃描而不是從陳舊報告進行修補。每個修補程式都是在您儲存庫的暫存副本中起草的,因此您的原始檔案保持未觸及狀態,直到您自己應用修補程式。
在交付前,每個修補程式都由獨立於撰寫它的代理的代理檢查,當程式碼有測試時它會針對變更執行您的專案測試,並自行讀取差異以查看它可能引入的任何新內容。修補程式僅在該檢查可以保證變更解決了一項發現、不引入新漏洞且以其他方式保持行為不變時才被撰寫。當它無法保證全部三項時,您會得到一個簡短的說明而不是修補程式。
修補程式永遠不會自動應用
應用修補程式始終是您的決定。修補程式進入報告的patches/ 資料夾,每個發現一個 F<n>.patch,旁邊有說明變更的說明。從您的 shell 應用一個,或要求 Claude 應用它並開啟提取請求:
此外掛程式如何與其他安全工具配合
Claude Security 外掛程式是深度掃描層,在防禦深度堆疊中,與 security guidance 外掛程式、/security-review、Code Review、受管 Claude Security 產品和您現有的掃描器一起:
此外掛程式不會取代您現有的原始碼安全工具。與靜態分析、依賴掃描和程式碼檢查一起執行它:它以人類安全研究人員的方式推理您的程式碼,這補充了這些工具提供的確定性檢查。
疑難排解
/claude-security 功能表開啟時出現 Python 警告。 此外掛程式需要 python3 3.9.6 或更新版本在您的 PATH 上。當它根本找不到 python3 時,功能表會警告在安裝一個之前 Claude Security 無法工作;當您 PATH 上的第一個 python3 較舊時,警告會命名它找到的版本。安裝 Python 3,或在您的 PATH 上放置較新的 python3,然後開始新工作階段。
使用 Fable 5 時,您可能會看到「Fable 5’s safeguards flagged this message」。 由於 Fable 5 的網路安全安全分類器,某些模型活動將被阻止並自動降級為 Opus。這是預期的,掃描應該仍然成功完成。
相關資源
若要深入了解此頁面涉及的部分:- Security guidance 外掛程式:在同一工作階段中 Claude 撰寫程式碼時捕捉問題
- Code Review:設定 PR 時間多代理檢查
- Claude Security:監控連接儲存庫的受管服務
- Claude Code 安全:Claude Code 如何處理信任、權限和保護措施
- 探索和安裝外掛程式:瀏覽其他官方外掛程式