/security-reviewはブランチに対して単一パスを実行し、Code Reviewはプルリクエストをレビューします。レイヤーがどのようにスタックするかについては、プラグインが他のセキュリティツールとどのように適合するかを参照してください。
前提条件
プラグインを実行するには、以下が必要です。- 有料プラン。スキャンがエージェントをオーケストレーションするために使用する 動的ワークフロー用です。Pro では、
/configの Dynamic workflows 行から有効にしてください。 - Python 3.9 以降が
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でマーケットプレイスを追加してから、インストールを再試行してください。- マーケットプレイスで プラグインが見つからないと報告された場合は、プラグイン名のタイプミスを確認してください。
Run /reload-plugins to activate. と報告された場合は、再起動なしで保留中の変更を適用してください。
プラグインをアンインストールする
プラグインを削除するには、/plugin メニューからアンインストールするか、ターミナルで claude plugin uninstall claude-security を実行します。
コードベースをスキャンして修正する
プラグインは 1 つのコマンド/claude-security を追加します。これは 3 つのジョブのメニューを開きます。コードベースのスキャン、変更セットのスキャン、パッチの提案です。ハッピーパスは完全スキャンを実行してから、その検出結果をパッチに変換します。
1
Claude Security メニューを開く
/claude-security を実行して、Scan codebase を選択します。2
スキャンする内容を選択する
プラグインはまずリポジトリを読み込み、その後、リポジトリ全体またはフォーカスされた領域を提供します。各オプションのファイル数と相対コストが記載されています。リポジトリ全体を選択するか、「I don’t know」と答えると、プラグインはリポジトリのサイズに合わせて適切なデフォルトを選択します。
3
実行を確認する
スキャンには時間がかかる場合があり、かなりの数のトークンを使用する可能性があり、完了するまで Claude Code を開いたままにする必要があります。確認するまで何も実行されません。
4
レポートを読む
スキャンが実行されている間、各ステージが開始されるたびに報告され、詳細は
/workflows で利用可能です。結果は、リポジトリ内のタイムスタンプ付きディレクトリに格納され、スキャン結果を読むで説明されています。5
検出結果をパッチに変換する
/claude-security を再度実行して、Suggest patches を選択してから、対処する検出結果を選択します。レビュー済みパッチはレポートの patches/ フォルダに格納されます。検出結果を修正では、各パッチがどのように構築およびレビューされるかについて説明しています。6
受け入れたパッチを適用する
シェルから
git apply で各パッチを適用します。独自のプルリクエストで実行してください。パッチは自動的に適用されることはありません。/claude-security scan my branch のように、またはプレーンテキストで「scan commit abc1234」のように要求できます。プラグインは auto mode で最適に機能します。これにより、スキャンのエージェントは各ステップで権限プロンプトなしで進行できます。
変更のみをスキャンする
ブランチにベースにないコミットがある場合、/claude-security メニューはその差分のみをスキャンするオプションを提供するため、マージ前にブランチを確認できます。開いているプルリクエストの 1 つをスキャンするか、「scan commit abc1234」のように要求して単一のコミットをスキャンすることもできます。コミットされた変更のみがスキャンされます。進行中の編集をコミットまたはスタッシュするか、作業ツリーを読み込む完全スキャンを実行してください。
変更スキャンには git リポジトリが必要です。バージョン管理されていないディレクトリの完全スキャンは引き続き機能します。開いているプルリクエストを見つけることは、ネットワークに到達する唯一のステップであり、セッションが既に GitHub CLI を実行する権限を持ち、gh がサインインしている場合にのみ提供されます。
大規模なリポジトリのスコープを設定する
大規模なリポジトリでは、ツリー全体ではなく、一度に 1 つの領域をスキャンします。プラグインが提供するフォーカスされたスコープの 1 つを選択します。例えば、API レイヤーまたは認証コードなど。実行は選択内容に合わせてサイズが調整されます。レポートのカバレッジセクションには、何が検査され、何が検査されなかったかが記載されています。別の領域で別のスキャンを実行してください。スキャン結果を読む
すべてのスキャンは、リポジトリ内のタイムスタンプ付きCLAUDE-SECURITY-<timestamp>/ ディレクトリに結果を書き込みます。
CLAUDE-SECURITY-RESULTS.md: レポート。各検出結果の ID(F1など)、影響、悪用シナリオ、重大度、信頼度、推奨事項が含まれています。CLAUDE-SECURITY-RESULTS.jsonl: 同じ検出結果を機械可読形式で、1 行に 1 つの JSON オブジェクト。CLAUDE-SECURITY-RESULTS.sarif: 同じ検出結果を SARIF 2.1.0 ログとして。GitHub コードスキャンおよび標準を読む他のツール用です。スキャンは検出結果を CWE 弱点カテゴリの下に分類します。CLAUDE-SECURITY-REVISION-<commit>.json: リビジョンスタンプ。スキャンされたコミット、どの程度の労力で、コミットされていない変更がスキャンされたツリーの一部であったかどうか、実行がどの程度徹底的に検証されたかを記録します。これにより、レポートは常にそれが説明するコードに関連付けられます。バージョン管理外のスキャンは、コミットの代わりにUNVERSIONEDをスタンプします。
.gitignore を含むため、迷った git add がレポートをコミットに掃き込むことはありません。監査証跡のためにレポートを履歴に保持するには、その 1 つの .gitignore ファイルを削除して、ディレクトリを他のものと同様にコミットします。
検出結果は、独立した検証エージェントが分析した後にのみレポートに表示されます。これにより、レポートは短く、読む価値があります。スキャンは非決定的です。同じコードの 2 つのスキャンは異なる検出結果を表示できます。スキャンを定期的に実行し、リビジョンスタンプを使用して、各レポートをそれがカバーする正確なコードと設定に属性付けします。
検出結果の修正
/claude-security メニューから Suggest patches を選択するか、「finding F3 を修正」などのプレーンテキストで質問して、修正フローを開始し、レポートからどの検出結果に対処するかを選択します。パッチはコミットされたコードに対して構築され、レポートはまだ現在のコードを説明している必要があります。その後コードが変更された検出結果はスキップされ、プラグインは古いレポートからのパッチ適用ではなく新しいスキャンを提供します。各パッチはリポジトリのスクラッチコピーで作成されるため、パッチを自分で適用するまでソースファイルは変更されません。
配信前に、各パッチはそれを作成したエージェントとは独立したエージェントによってレビューされます。このエージェントはコードにテストがある場合、変更に対してプロジェクトのテストを実行し、導入される可能性のある新しい問題がないか diff を独自に読みます。パッチは、そのレビューが 3 つすべてを保証できる場合にのみ作成されます。つまり、変更が 1 つの検出結果に対処し、新しい脆弱性を導入せず、その他の動作は変わらないということです。3 つすべてを保証できない場合、パッチの代わりに、理由を説明する短いメモが表示されます。
パッチは自動的に適用されることはありません
パッチの適用は常にあなたの決定です。パッチはレポートのpatches/ フォルダに配置され、検出結果ごとに 1 つの F<n>.patch ファイルが変更を説明するメモとともに配置されます。シェルから 1 つを適用するか、Claude にパッチを適用してプルリクエストを開くよう依頼します。
プラグインが他のセキュリティツールとどのように適合するか
Claude Security プラグインは、セキュリティガイダンスプラグイン、/security-review、Code Review、マネージド Claude Security プロダクト、および既存のスキャナーと並んで、多層防御スタックのオンデマンド深スキャンレイヤーです。
プラグインは既存のソースコードセキュリティツールを置き換えません。静的分析、依存関係スキャン、コードレビューと並行して実行します。人間のセキュリティ研究者がするのと同じ方法でコードについて推論します。これは、これらのツールが提供する決定論的チェックを補完します。
トラブルシューティング
/claude-security メニューが Python 警告で開きます。 プラグインは PATH に Python 3.9 以降の python3 が必要です。python3 がまったく見つからない場合、メニューは Claude Security がインストールされるまで機能しないことを警告します。PATH の最初の python3 が古い場合、警告は見つかったバージョンを名前で指定します。Python 3 をインストールするか、新しい python3 を PATH の最初に配置してから、新しいセッションを開始してください。
Fable モデルでスキャンするときに「safeguards flagged this message」という通知が表示される場合があります。 メッセージはモデルを名前で指定します。例えば「Fable 5.1’s safeguards flagged this message」。Fable のサイバーセキュリティ安全分類器により、特定のリクエストがフラグされ、Claude Code は 自動モデルフォールバックを通じてフラグされたリクエストを Opus モデルで再実行します。これは予想されており、スキャンは引き続き正常に完了するはずです。
関連リソース
このページが触れるピースについてさらに詳しく知るには。- セキュリティガイダンスプラグイン: Claude が書くときにコード内の問題をキャッチします。同じセッション内。
- Code Review: PR 時のマルチエージェントレビューをセットアップします。
- Claude Security: 接続されたリポジトリを監視するマネージドサービス。
- Claude Code セキュリティ: Claude Code がトラスト、権限、セーフガードにどのようにアプローチするか。
- プラグインを発見してインストール: 他の公式プラグインを参照します。