「Claude Code に頼んで作ったコード、セキュリティ的にちゃんと大丈夫?」——一度は気になったことがあるんじゃないでしょうか。
そんな不安に対する公式の答えとして、Anthropic から security-guidance という公式プラグインが提供されています。AI が書いたコードをそのAIが自分でレビューして、問題があれば同じセッション中に直してくれる仕組みです(仕様は 公式ドキュメントに記載)。

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.
(セキュリティガイダンスプラグインは、Claude が書いたコードの変更を Claude 自身が一般的な脆弱性についてレビューし、同じセッション内で見つけたものを修正します)
——Anthropic 公式ドキュメント
この記事では、このプラグインが何をしてくれるのかとインストール方法を、Web 制作で実際に Claude Code を使う立場で整理します。
このプラグインで何をしてくれるか(3層レビュー)
プラグインは 3つのタイミングでコードをレビューします。深さ(厳しさ)が違います。
| タイミング | 何をするか | コスト |
|---|---|---|
| ① 1回の編集ごと | 危険なパターンの文字列マッチ(モデル呼ばずに高速) | 0 円(Claude APIを呼ばない) |
| ② ターン終わりごと | その回で変わった差分をバックグラウンドでモデルがレビュー | Claude の通常使用量を消費(サブスクならプラン枠内・API キーなら従量加算) |
| ③ git commit / push 時 | 周辺コードまで読む深いレビュー(agentic) | 同じくClaude 使用量を消費・1時間20件まで(複数ターン回るのでやや重め) |

① 1回の編集ごと:パターンマッチ
危険そうな書き方を、機械的に弾きます。例:
- 動的コード実行:
eval(/new Function/os.system/child_process.exec - 危険なシリアライズ:
pickle - DOM injection:
dangerouslySetInnerHTML/.innerHTML =/document.write - GitHub Actions ワークフロー編集(権限を持つので注意喚起)
Web 制作の文脈でいえば、.innerHTML = や dangerouslySetInnerHTML は XSS の入り口になりやすい書き方として知られています。これらが編集直後に警告対象として明示されているのは、公式ドキュメントの記載どおりです。
② ターン終わりごと:差分をAIがレビュー
文字列マッチでは取れない、文脈ありの脆弱性も拾います。
- 認可バイパス(権限チェック漏れ)
- IDを直接いじって他人のデータが見える穴
- インジェクション全般
- SSRF(サーバが攻撃元になる)
- 弱い暗号
バックグラウンドで走るので、返事は遅くなりません。問題があれば「これ直そうね」と Claude 自身が次の応答で対応してくれます。
③ git commit / push 時:深い agentic レビュー
コミット直前に、呼び出し元やサニタイザ※、関連ファイルまで読んで判定します。「孤立して見ると危なそうだけど実は安全」というケースで誤検知を減らしてくれます。
※サニタイザ=ユーザーが入力した文字列の危険な記号(< > ” ‘ など)を、無害な文字に変換して通すコード。
たとえば<script>を<script>にエスケープすると、ブラウザは「文字」として表示するだけで実行しなくなります。これで XSS(悪意あるスクリプトを埋め込む攻撃)を防ぐのが基本の使い方です。
代表例:WordPress のesc_html()/wp_kses()、JavaScript のDOMPurify、PHP のhtmlspecialchars()。The reviewer starts from the diff, has no investment in the original approach, and is instructed only to find problems.
(レビュー担当は差分から見始め、元のアプローチに肩入れせず、問題を見つけることだけ指示される)
——Anthropic 公式
「書いた人がレビューする」だと甘くなりがち。これを別の Claude インスタンスにフレッシュコンテキストでやらせるのがポイントです。
インストール方法(5ステップ)
事前に押さえておく前提:
- Claude Code CLI 2.1.144 以降
- Python 3.8 以降(PATH に通っていること)
- 作業ディレクトリが git リポジトリであること(コミット時レビューに必要)
- 初回はネットアクセスと
pipが必要(~/.claude/security/に venv を作る)

通常は不要ですが、マーケットプレイスが見つからない場合は先に追加します。
/plugin marketplace add anthropics/claude-plugins-official
ターミナルから Claude Code セッションに入り、その中で /plugin install を実行します。順番はこの4つ:
① ターミナル(ターミナル.app)を起動
② 任意のプロジェクトフォルダに移動(git リポジトリ推奨)
→ ~/your-project の部分は、自分自身の作業フォルダ(の絶対パス)に置き換えてください。
cd ~/your-project
③ Claude Code セッションを起動
→ claude と入力して Enter を押します。
claude
画面が Claude Code の対話モードに切り替わり、ここで初めて / から始まるコマンドが使えるようになります。
④ 対話モードの中で次を実行
/plugin install security-guidance@claude-plugins-official
→ ここで スコープ(user / project / local など)の選択画面が表示されます。「user」を矢印キーで選んで Enter すると、このマシンで起動するすべてのセッションで自動的に効くようになります。
/reload-plugins
これで再起動なしに有効化されます。
リポジトリをチームで共有していて、誰がクローンしても自動で効かせたい時は、リポジトリ内の .claude/settings.json に書きます。
{
"enabledPlugins": {
"security-guidance@claude-plugins-official": true
}
}
この設定を入れておくと、他のマシンで作業してもデフォルトで保護が入る状態になります。
このプラグインは追加でルールを書けます。
- モデル系レビュー向け:
.claude/claude-security-guidance.md(日本語でOK)に「うちのコードはこういうルールね」と書く - 編集ごとパターンマッチ向け:
.claude/security-patterns.yaml(または.json)に regex/substring を書く
例(パターンマッチ):
patterns:
- rule_name: internal_api_key
substrings: ["sk_live_", "AKIA"]
reminder: "ハードコードされたAPIキーが見えます。シークレットマネージャから読み込んでください。"
これで「sk_live_ がコードに残っていたら警告」が走るようになります。
Web 制作の現場で効きそうなところ
Claude Code を Web 制作で使うときに、特に助かりそうな点:
innerHTML/dangerouslySetInnerHTML検知:問い合わせフォーム周りの動的描画でやらかしやすい.github/workflows/編集の注意喚起:GitHub Actions の権限はリポジトリ全体に届くので、無意識に強い権限を渡してしまうのを止めてくれる- コミット時の深いレビュー:「とりあえずコミット」の前に最後のセーフティネットになる
逆に注意:
- 書き込みをブロックする仕組みではありません。レビューで見つかったものは Claude に「指示」として返るだけで、見落とすことはあります
- 「これ1個で完璧」ではなく、defense in depth(多層防御)の1層として扱う前提。CI のスキャナや Code Review プラグインと組み合わせます
コスト感
- 編集ごとパターンマッチ:モデルを呼ばないので無料で使用可能
- ターン終わり/コミット時のAIレビュー:通常の Claude の使用量に乗る(Pro/Max などのサブスクならプラン枠内・API キーなら従量加算)
- コミット時の deep review は 1時間あたり最大20回でリミットあり
- 既定のレビューモデルは Claude Opus 4.7(環境変数
SECURITY_REVIEW_MODEL/SG_AGENTIC_MODELで変えられる)
公式の説明を整理すると「毎ターン少しだけ追加で消費、コミットごとにそれより多め」という構造になります。
📌 「プラグインで別途課金される」のではなく、通常の Claude Code 使用と同じ枠(サブスクなら月のプラン上限、API キーなら従量請求)に積まれる、というのがポイントです。プラグイン自体はすべてのプランで無料で使えます。
💡 うまくいかないとき(よくある3パターン)
インストールがうまくいかないときは、まずこの3つを順に確認します。
| 症状 | 原因 | 対処 |
|---|---|---|
claude コマンドが見つからない | Claude Code CLI が未インストール、または PATH 未設定 | 公式クイックスタート に沿って再インストール → ターミナル再起動 |
claude --version が 2.1.144 未満 | バージョンが古く /plugin 系コマンド未対応 | npm i -g @anthropic-ai/claude-code で最新版へ更新 |
/plugin install で「marketplace not found」 | 公式マーケットプレイス未登録 | 先に /plugin marketplace add anthropics/claude-plugins-official → 再度 /plugin install ... |
「git リポジトリ外で動かしている」場合も、コミット時レビューは黙ってスキップされます(公式仕様)。実装を試すときは git 初期化済みのフォルダで作業すると、3層レビューの全部を体感できます。
解除・停止
- 一時的に止める:
SECURITY_GUIDANCE_DISABLE=1 - 個別レイヤだけ止める:
ENABLE_PATTERN_RULES=0、ENABLE_STOP_REVIEW=0、ENABLE_COMMIT_REVIEW=0 - スコープから外す:
/plugin disable security-guidance@claude-plugins-official - 完全アンインストール:
/plugin uninstall security-guidance@claude-plugins-official
まとめ
- Claude Code に公式のセキュリティレビュー仕組みが入った(プラグイン)
- AIが書いたコードを、AI自身が3層でレビュー+直してくれる(編集 / ターン終わり / コミット時)
- 入れ方は
/plugin install→/reload-pluginsの 2 コマンド - 「全部おまかせ」ではなく、多層防御の1層として組み込むのが正解
「Claude Code を実務で使い始めたい/使っている」人にとっては、導入候補に挙げる価値がある仕組みです(実際に試した実装レビュー結果は、後日別記事で追記予定)。
※ ちなみに、Claude Code のセッション中に「security-guidance プラグインを入れて」と頼めば、最新のやり方を即座に案内してくれると思います。コマンドを覚える前に、まず Claude Code に聞いてみるのが一番手っ取り早いかもしれません、、、、




