コンテンツへスキップ

media AI活用の最前線

【2026年最新】Claude Code security-guidance プラグイン徹底解説|脆弱性を自動修正する7使い方

結論: Claude Code security-guidance pluginはClaudeがコードを書く際に自動で脆弱性を検出・修正する公式プラグインです。インストールは1コマンド、追加設定不要で全プラン対応です。

「うわ、また脆弱性の指摘が来た…」

先日、ある顧問先の開発チームでこんな出来事がありました。Claude Codeを使って新機能を実装していたエンジニアが、PRレビューで「SQLインジェクションのリスクがある」と指摘され、修正に丸一日かかってしまった。本来、コードを書いた時点で気づけていれば30分で終わる修正が、レビューフェーズまで到達してしまったせいで、何度もやり直しが発生したんです。

このエピソードを聞いて、改めて感じたことがあります。セキュリティ問題は「早期発見」こそが最大のコスト削減になる、ということです。PRになってから見つかれば修正コストは数倍に膨らむ。でもコードを書きながら、その場で気づいて直せるなら話が全然違う。

そのニーズに直接応えるのが、Anthropicが2026年5月27日に公開した公式プラグイン「security-guidance plugin」です。この記事では、公式ドキュメント(docs.claude.com、参照日: 2026-06-04)に基づき、プラグインの仕組みから導入方法、活用パターン、よくある失敗まで徹底解説します。コピペ可能な設定ファイルもすべて公開しますので、今日から実践してください。


この記事の結論(読む前に押さえる3点)

結論: Claude Code security-guidance pluginは、Claudeがコードを書く際に自動でセキュリティレビューを実施し、問題を同じセッション内で修正する公式プラグイン。Anthropic社内のテストでセキュリティ関連コメントが30〜40%減少した実績あり。

  • 何が自動修正されるか: SQLインジェクション・XSS・安全でない逆シリアル化・認可バイパス・SSRF・弱い暗号化など、コーディング中に発生しやすい脆弱性を3段階(即時/ターン終了時/コミット時)で検出・修正
  • 誰向けか: Claude Codeを使うすべての開発者・開発チーム(全プランで利用可能)
  • 今日できること: /plugin install security-guidance@claude-plugins-official を実行するだけで即座に有効化。追加コストは実質ゼロ(per-editチェックはモデル呼び出しなし)

対象読者: Claude Codeを業務利用している開発者・DevSecOpsエンジニア・CTOクラス

読了後にできること: security-guidance pluginをインストールし、プロジェクト固有のカスタムルールを設定できる

security-guidance pluginとは何か — 3行で理解する

Anthropicが提供する公式プラグイン「security-guidance」は、一言で言えば「AIがコードを書きながら自分のコードをセキュリティレビューし、問題を即座に修正する」仕組みです。

従来のセキュリティツールとの大きな違いは3つあります。

  • タイミングが早い: CIやコードレビューではなく、コーディング中に問題を発見する
  • コンテキストを理解する: ルールベースの静的解析ではなく、コードの文脈を読んで判断する
  • 自動修正する: 問題を指摘するだけでなく、同じセッション内でClaudeが修正まで行う

公式ドキュメントには「The security guidance plugin makes Claude review its own code changes for common vulnerabilities while it works and fix what it finds in the same session」と明記されています(参照日: 2026-06-04)。

このプラグインはPRレビュー時の「Code Review」機能(Team/Enterpriseプランのみ)とセットで使うことが想定されています。プラグインがコーディング中に問題を潰し、Code ReviewがPR段階で残りを拾う、という多層防御の設計です。

Claude Codeのプラグイン全般については、Claude Code プラグイン完全ガイドで体系的に解説しています。あわせてご参照ください。

AI導入時のセキュリティ設計を含む全体戦略については、AI導入戦略の完全ガイドもご参考ください。

検出される脆弱性の全種類 — 3層の検査メカニズム

security-guidance pluginは3つの異なる深さで脆弱性を検査します。それぞれのレイヤーが異なるタイプの問題を得意としています。

Layer 1: ファイル編集時(即時パターンマッチング)

Claudeがファイルを編集するたびに、モデル呼び出しなしでパターンマッチングを実行します。これはコストゼロ、遅延ゼロで動作するため、最も高速なチェックです。

検出対象のパターンカテゴリ(公式ドキュメント準拠):

カテゴリ検出パターン例リスク
動的コード実行eval(new Functionos.systemchild_process.execリモートコード実行(RCE)
安全でない逆シリアル化pickle(Pythonの安全でないデシリアライゼーション)任意コード実行
DOM注入dangerouslySetInnerHTML.innerHTML =document.writeXSS(クロスサイトスクリプティング)
ワークフローファイル.github/workflows/ 配下の編集リポジトリ権限の不正取得

警告は「同一パターン×同一ファイル×同一セッション内」で1回だけ発火する設計です。同じファイルを何度も編集してもフラッドしません。

Layer 2: ターン終了時(バックグラウンドモデルレビュー)

1ターン(ユーザーがメッセージを送り、Claudeが応答を返す1往復)の終了後に、そのターン中に変更されたすべてのファイルのdiffを取り、別のClaudeインスタンスがセキュリティレビューを実施します。

重要なのは「別のClaudeインスタンス」という点です。コードを書いたClaudeがそのまま自分を採点するわけではなく、新しいコンテキストでセキュリティに特化したプロンプトを持つインスタンスが独立してレビューします。

このレイヤーが検出する脆弱性(パターンマッチングでは検出困難なもの):

  • 認可バイパス(Authorization Bypass)
  • Insecure Direct Object References(IDOR)
  • インジェクション(SQLインジェクションを含む)
  • サーバーサイドリクエストフォージェリ(SSRF)
  • 弱い暗号化の使用

バックグラウンドで実行されるため、Claudeの応答速度に影響しません。問題が見つかった場合、Claudeは再プロンプトされ、続きのメッセージとして修正が行われます。1ターンで連続して3回まで再プロンプトし、その後はユーザーに制御を返します。

対象は1ターンで変更されたファイル最大30件です。

Layer 3: コミット・プッシュ時(エージェント式深いレビュー)

ClaudeがBashツール経由で git commit または git push を実行した際に、最も深いレビューが走ります。このレイヤーはエージェント式で、変更されたコードだけでなく、呼び出し元・サニタイザー・関連ファイルまで読み込んで判断します。

コンテキストが広いため、「一見危険に見えるが実は安全」なコードを誤検出しにくいのが特長です。

注意点として、このLayer 3が発火するのは「Claudeが実行するコミット/プッシュのみ」です。ユーザー自身がターミナルやセッション内の ! シェルエスケープで実行したコミットは対象外です。また、1時間あたり最大20回のコミットレビューが上限です。

ターン終了時レビューと同じ問題がすでに報告されていた場合、Claudeへの再プロンプトはスキップされます。クリーンなコミットは何も出力しません。

AI活用、何から始めればいい?

100社以上の研修実績をもとに、30分の無料相談で貴社の課題を整理します。

無料相談はこちら Claude Code × ビジネス活用 実践ガイドを受け取る

5ステップ導入フロー — 今日中に動かすための完全手順

  1. バージョン確認: Claude Code CLIのバージョンが2.1.144以上であることを確認する(claude --version)。以前のバージョンでは /plugin コマンドが存在しない
  2. Python確認: Python 3.8以上がPATHに含まれていることを確認する(プラグインが python3pythonpy -3 の順で検索する)
  3. マーケットプレイス追加(必要な場合): 「marketplace not found」エラーが出た場合は /plugin marketplace add anthropics/claude-plugins-official を先に実行する
  4. プラグインのインストール: /plugin install security-guidance@claude-plugins-official を実行してスコープを選択する(個人用はuserスコープ、チーム共有はprojectスコープ)
  5. 有効化: /reload-plugins で即座に有効化する(再起動不要)

以上で完了です。有効化後は何もコマンドを覚える必要はありません。Claudeがコードを書くたびに自動でレビューが走ります。

チーム・クラウドセッションでの有効化

userスコープのプラグインはClaude Code on the web(クラウドセッション)には引き継がれません。チーム全員に適用する場合は、リポジトリの .claude/settings.json に以下を追記します。

{
  "enabledPlugins": {
    "security-guidance@claude-plugins-official": true
  }
}

このファイルをGitにコミットすることで、リポジトリをクローンしたすべてのメンバーとクラウドセッションで自動有効化されます。組織全体に適用する場合はAdminがmanaged settingsで設定します。

7パターン活用法 — こういう場面で真価を発揮する

活用パターン1: PRレビュー前の自動クリーニング

「PRを出す前に自分でセキュリティチェックしたいけど、何を見ればいいかわからない」というエンジニアに最も効果的です。プラグインを有効にした状態でClaudeと一緒に実装すれば、コードを書きながら脆弱性が自動的に解消されます。PRを出す頃にはLayer 1〜3の全レビューが済んでいる状態になります。

研修先のスタートアップで試したところ、「SQLインジェクションの修正指摘がPRフェーズで出なくなった」と開発リードから報告がありました。実装中にすでに修正済みになっているからです。

活用パターン2: 新規ファイル作成時のベースライン確保

新しいAPIエンドポイントやデータ処理モジュールを一から作る際に特に有効です。認可チェックの漏れやインジェクション対策の欠如が、実装段階でフィードバックされます。

# 新規APIエンドポイント作成時のClaudeへの指示例

/admin/users エンドポイントを追加して。
- GETメソッドでユーザー一覧を返す
- 管理者ロールのユーザーのみアクセス可能
- ページネーション対応

(security-guidanceが認可チェックの漏れ、SQLインジェクション等を自動検出し修正)

活用パターン3: 既存コードのセキュリティ診断

レガシーコードのリファクタリング作業でも活用できます。Claudeに「このファイルをモダンな書き方にリファクタリングして」と指示すると、書き直したコードがLayer 2のエンド・オブ・ターンレビューにかかります。古いコードに潜んでいた脆弱性が、リファクタリングを通じて修正されるケースがあります。

活用パターン4: セキュリティチェックワークフローの自動化

デプロイフローの一部にClaude Codeを組み込む場合、コミット時レビュー(Layer 3)が自動で走ります。既存のCI/CDに加えて、コミット時点での深いエージェントレビューが実施されます。

活用パターン5: 社内コンプライアンスルールの適用

プロジェクト固有のセキュリティルールを .claude/claude-security-guidance.md に記述することで、チーム全員に一貫したルールを適用できます。たとえば「INFO以上のログレベルでcustomer_idをログしない」「/adminルートは必ずrequire_role(“admin”)を呼ぶ」といったルールを平文で書けます。

活用パターン6: セキュリティ監査・ペンテスト前の準備

外部のペネトレーションテストを受ける前の準備フェーズで活用できます。Claude Codeで「セキュリティ観点でこのコードベースの主要モジュールを見直して」と依頼しながら修正を進めると、Layer 2・3のレビューが全変更に自動適用されます。

活用パターン7: 開発チームのセキュリティ教育

プラグインが発見した問題と修正内容を観察することで、若手エンジニアがどのような脆弱性が発生しやすいかを実地で学べます。「なぜそのコードが危険なのか」の説明もClaudeが付与するため、単なる修正ツールを超えた教育効果があります。

コピペ可能な設定5パターン — 今すぐ使えるファイル

設定1: プロジェクト有効化(settings.json)

{
  "enabledPlugins": {
    "security-guidance@claude-plugins-official": true
  }
}

場所: .claude/settings.json(リポジトリルート直下)
効果: リポジトリをクローンしたすべての人とクラウドセッションで自動有効化

設定2: Webサービス向けセキュリティガイダンス

# Security guidance for this repo

## ログポリシー
- INFO以上のログレベルでcustomer_id、account_number、user_emailをログしない
- エラーログには内部スタックトレースを含めてよいが、本番環境ではユーザーに見せない

## 認可ルール
- /adminルート配下はすべてrequire_role("admin")を呼んでからDBアクセスする
- ユーザーが自分のリソースにしかアクセスできないよう、クエリに必ずuser_idフィルタを含める

## トークン比較
- 文字列比較でトークンを検証しない。crypto.timingSafeEqual(Node.js)またはhmac.compare_digest(Python)を使う

## 外部URL処理
- ユーザー入力のURLを直接HTTPリクエストしない。ホワイトリスト検証またはSSRFガード必須

場所: .claude/claude-security-guidance.md
効果: ターン終了時・コミット時のモデルレビューに追加コンテキストとして読み込まれる

設定3: カスタムパターンルール(YAML)

patterns:
  - rule_name: hardcoded_api_key
    substrings: ["sk_live_", "AKIA", "sk-proj-"]
    reminder: "ハードコードされたAPIキーが検出されました。シークレットマネージャーから環境変数経由で読み込んでください。"

  - rule_name: tenant_unfiltered_query
    regex: "\.objects\.all\(\)"
    paths: ["**/src/tenants/**"]
    reminder: "マルチテナントコードは必ずorg_idでフィルタしてください。"

  - rule_name: direct_sql_format
    regex: "f"SELECT.*{|"SELECT.*%s"
    reminder: "SQLクエリへの直接変数埋め込みはSQLインジェクションリスクがあります。パラメタライズドクエリを使用してください。"

  - rule_name: weak_hash
    substrings: ["md5(", "sha1(", "hashlib.md5", "hashlib.sha1"]
    reminder: "MD5/SHA1はパスワードハッシュには使用禁止。bcrypt、argon2、scryptを使用してください。"
    exclude_paths: ["**/tests/**", "**/fixtures/**"]

場所: .claude/security-patterns.yaml
注意: YAMLを使用する場合はPyYAMLが必要。不明な場合は .claude/security-patterns.json を使用
上限: 最大50ルールまで、正規表現は破滅的バックトラックが検出されたものは自動スキップ

設定4: レイヤー別無効化(環境変数)

# 特定レイヤーのみ無効化
export ENABLE_PATTERN_RULES=0       # per-editパターンチェックを無効化
export ENABLE_STOP_REVIEW=0         # ターン終了時レビューを無効化
export ENABLE_COMMIT_REVIEW=0       # コミット時レビューを無効化
export ENABLE_CODE_SECURITY_REVIEW=0  # モデルレビューをすべて無効化(per-editは動作継続)

# プラグイン全体の一時停止
export SECURITY_GUIDANCE_DISABLE=1

モデルのカスタマイズ(コスト最適化に使用):

# ターン終了時レビューのモデルを変更(デフォルト: Claude Opus 4.7)
export SECURITY_REVIEW_MODEL=claude-sonnet-4-5

# コミット時エージェントレビューのモデルを変更
export SG_AGENTIC_MODEL=claude-sonnet-4-5

設定5: Pre-commitフックとの連携

security-guidance pluginと既存のpre-commitフックを組み合わせることで、多層防御が完成します。

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/PyCQA/bandit
    rev: 1.7.8
    hooks:
      - id: bandit
        args: ["-r", ".", "-ll"]

  - repo: https://github.com/Yelp/detect-secrets
    rev: v1.4.0
    hooks:
      - id: detect-secrets
        args: ["--baseline", ".secrets.baseline"]

位置付けとしては: security-guidance plugin(コーディング中)→ pre-commitフック(コミット時の静的チェック)→ CI(PRの静的解析・依存関係スキャン)→ Code Review(PRのエージェントレビュー)の順で多層防御が構成されます。

【要注意】よくある失敗パターン4選

失敗1: 誤検出を修正前に「無視」してしまう

よくある間違い: プラグインが「.innerHTML = は危険」と警告したが、そのコードは実際にはサニタイズ済みのデータを受け取っていると知っていたため、無視した。

正しいアプローチ: 警告が出たらClaudeに「このケースでなぜ安全なのか説明してから判断して」と依頼する。あるいは.claude/claude-security-guidance.mdに「このパターンはXライブラリでサニタイズ済みの場合は許容」と明記する。

なぜ重要か: プラグインの設計上、built-inチェックは個別に無効化できません。プロジェクト固有の例外はガイダンスファイルに記述し、レビュアーが正しく判断できる文脈を与えることが重要です。

失敗2: 「完璧なセキュリティツール」だと思い込む

よくある間違い: security-guidance pluginが入っているからCI/CDのSASTツールを外した。「これで全部カバーされているはず」と判断した。

正しいアプローチ: 公式ドキュメントに明記されている通り「一層の防御であり、完全なソリューションではない」。既存のSAST、DAST、依存関係スキャン、PRレビューと組み合わせて使うこと。

なぜ重要か: プラグインは「早期発見」に特化しており、言語固有の細かなルール・サプライチェーンリスク・ビジネスロジックの脆弱性は後続のツールが担当します。

失敗3: 修正案をレビューせずにそのまま採用する

よくある間違い: Claudeが自動修正した内容を確認せず、そのままコミットした。結果、修正が機能要件と競合していた。

正しいアプローチ: プラグインの修正提案も「提案」です。修正内容を必ず確認し、機能の意図と矛盾しないかを確認してから採用する。Claudeに「この修正で元の機能が損なわれないか確認して」と追加で確認するのが安全。

なぜ重要か: セキュリティ修正と機能要件はトレードオフが発生することがあります。たとえば「型チェックの追加」は脆弱性を防ぐが、既存のゆるい型を期待している呼び出し元が壊れる可能性があります。

失敗4: 環境別のfalse positiveを見落とす

よくある間違い: テストファイルやフィクスチャに意図的にハードコードしたダミーのAPIキーがあり、毎回警告が出て疲弊してしまった。

正しいアプローチ: カスタムパターンルールで exclude_paths を活用し、テストディレクトリを除外する。

patterns:
  - rule_name: hardcoded_api_key
    substrings: ["sk_live_", "AKIA"]
    reminder: "本番用キーを直接記述しないでください。"
    exclude_paths: ["**/tests/**", "**/fixtures/**", "**/.env.test"]

なぜ重要か: 誤検出が多すぎると「警告疲れ」(Alert fatigue)が発生し、本当に重要な警告を見落とすリスクが高まります。適切なexclude_paths設定でノイズを減らすことがツールの実効性を高める鍵です。

Claude Codeセキュリティ設定との関係 — 2つの機能の役割分担

すでに先日公開した「Claude Code セキュリティ設定完全ガイド」で解説した設定(settings.json deny設定・Pre-commitフック・環境変数管理等)と、今回のsecurity-guidance pluginは、カバーする領域が異なります。

観点セキュリティ設定(settings.json等)security-guidance plugin
守るものClaudeの動作(API keyアクセス・コード送信の制御)Claudeが書くコードの品質(脆弱性の混入防止)
主な設定deny・denyWrite・allowedTools・環境変数security-patterns.yaml・claude-security-guidance.md
タイミングClaude起動・ファイルアクセス時コード編集・ターン終了・コミット時
コストなしper-editはなし、ターン・コミット時はモデル料金発生

理想的な構成は両方を組み合わせること。settings.jsonでClaudeの行動を制御し、security-guidance pluginでClaudeが生成するコードの品質を担保します。

コスト計算 — 実際どれくらいかかるのか

公式ドキュメントには以下が明記されています(参照日: 2026-06-04)。

  • per-editパターンチェック(Layer 1): モデル呼び出しなし → 追加コストゼロ
  • ターン終了時レビュー(Layer 2): ファイル変更があったターンごとに1回のモデル呼び出し → 通常のClaude利用と同じ料金体系
  • コミット時レビュー(Layer 3): エージェント式で複数ターン → 1コミットあたり数回のモデル呼び出し、1時間最大20件

デフォルトモデルはClaude Opus 4.7です。コスト最適化したい場合は環境変数でモデルを変更できます。

# コスト優先の場合(Opus → Sonnet に変更)
export SECURITY_REVIEW_MODEL=claude-sonnet-4-5
export SG_AGENTIC_MODEL=claude-sonnet-4-5

すべてのプランで利用可能な点は重要です。Enterpriseプラン限定ではありません。

トラブルシューティング — 動かない時の確認ポイント

プラグインが期待通りに動作しない場合、まず確認すべき場所はログファイルです。

cat ~/.claude/security/log.txt

よくある問題と対処法:

症状原因対処法
ターン終了時レビューが走らないgitリポジトリ外で作業しているgit init でリポジトリ化する
コミットレビューがフォールバック動作している初回起動時のpip installが失敗したネットワーク接続とpipの動作を確認。~/.claude/security/ の仮想環境を削除して再起動
security-patterns.yamlが読み込まれないPyYAMLがインストールされていない.claude/security-patterns.json をJSON形式で使用する
/pluginコマンドが認識されないClaude Code CLIが古い(v2.1.144未満)npm install -g @anthropic-ai/claude-code@latest でアップデート

Anthropic社内での実績と外部事例

Anthropicが自社の開発環境でsecurity-guidance pluginを使用した結果、「セキュリティ関連のコードレビューコメントが30〜40%減少した」と公式ブログで報告されています(参照日: 2026-06-04)。

また、Anthropicの内部テストでは2つの具体的な脆弱性が自動発見・修正された事例が紹介されています。

  • DNSリバインディングを悪用したリモートコード実行(RCE): ローカルHTTPサーバーの実装において、DNSリバインディング攻撃でリモートコード実行が可能な構成が検出された
  • SSRFの脆弱性: クレデンシャルプロキシシステムにおいて、サーバーサイドリクエストフォージェリが可能な構成が自動修正された

「The review runs in the background, so Claude’s reply is not delayed」(公式ドキュメント、参照日: 2026-06-04)— バックグラウンド実行により、開発速度を損なわずにセキュリティレビューが実施される

また、このプラグインはAnthropicのオープンソースリポジトリで実装が公開されており、Hooksを使った独自セキュリティツール開発の参考実装としても活用できます(anthropics/claude-plugins-official)。

AI導入全般のセキュリティ・ガバナンス体制については、AI governance committee designの記事もあわせて参照してください。

まとめ:今日から始める3つのアクション

  1. 今日やること: /plugin install security-guidance@claude-plugins-official を実行して有効化する。5分で完了、追加設定不要で即座にLayer 1〜3のレビューが有効になる
  2. 今週中: .claude/claude-security-guidance.md を作成し、プロジェクト固有のセキュリティポリシー(ログポリシー・認可ルール・禁止パターン等)を記述する。チームメンバー全員に共有するためGitにコミットする
  3. 今月中: .claude/security-patterns.yaml でカスタムパターンルールを追加し、誤検出(false positive)を最小化する。Layer 3のコミットレビューログを定期確認し、チームでのセキュリティ知識共有に活用する

あわせて読みたい:

参考・出典


著者: 佐藤傑(さとう・すぐる)
株式会社Uravation代表取締役。X(@SuguruKun_ai)フォロワー約10万人。
100社以上の企業向けAI研修・導入支援。著書『AIエージェント仕事術』(SBクリエイティブ)。
SoftBank IT連載7回執筆(NewsPicks最大1,125ピックス)。

ご質問・ご相談は お問い合わせフォーム からお気軽にどうぞ。

佐藤傑
この記事を書いた人 Uravation Lead API Bot
この記事をシェア

Claude Codeを本格的に使いこなしたい方へ

週1回・1時間のマンツーマン指導で、3ヶ月後にはClaude Codeで自走できる実力が身につきます。
現役エンジニアが貴方の業務に合わせてカリキュラムをカスタマイズ。

✓ 1対1のマンツーマン ✓ 全12回・3ヶ月 ✓ 実務ベースの指導
Claude Code 個別指導の詳細を見る まずは無料相談

contact お問い合わせ

生成AI研修や開発のご依頼、お見積りなど、
お気軽にご相談ください。

Claude Code 個別指導(1対1・12セッション)をご希望の方はこちらから別途お申し込みください

FREE DOWNLOAD Claude Code × ビジネス活用 実践ガイド 資料請求する
Claude Code 個別指導 無料相談