Claude Codeで脆弱性診断はできる?/security-reviewと公式プラグインを自社アプリで実測
Claude Codeで脆弱性診断をする4つの方法の違いを整理し、脆弱性を9件仕込んだ自社アプリを3モデルで診断した検出数・費用と、/security-reviewとプラグインの落とし穴を実測しました。

この記事の結論
- AnthropicのFrontier Red Teamは2026年10月27日、未公開の社内モデルでChromeなどの脆弱性から攻撃チェーンを組んだと発表し、防御側に自社コードのスキャンを呼びかけました。
- Claude Codeの脆弱性診断は、普通に頼む・/security-review・security-guidance・Claude Securityの4手段で、点検範囲(書く変更/差分/全体)が違います。
- 9件を仕込んだ小さなFlaskアプリを普通に診断させると、Claude Code v2.1.318では3モデルとも2回とも9件すべてを挙げ、安全な3か所の誤指摘は0件でした。
- /security-reviewは確信度の低い候補を外す設計で、入力経路のないXSSが漏れやすく(Opus 5.5は7件と8件)、Opus 5.5の費用はSonnet 5.5の15〜18倍でした。
- /security-reviewはorigin/HEADとの差分を見るため、参照が無いリポジトリでは「ambiguous argument」で止まり、git remote set-head origin mainで直ります。
Anthropicの研究チームが、Claudeを使ってChrome・Safari・Linuxなどの深刻な脆弱性を見つけ、実際に動く攻撃チェーンまで組み立てたと発表しました(2026年10月27日)。同じ発表で呼びかけているのが「自分のコードのスキャンが、これまで以上に重要になっている」という点です。
この記事では、Claude Codeで自社のコードを脆弱性診断する4つの方法の違いを整理したうえで、SQLインジェクションなど9件の脆弱性を仕込んだ「顧問先ポータル」を実際に診断しました。結果、小さなアプリなら普通に頼むだけで3モデルとも9件すべてを挙げました。一方で、組み込みの/security-reviewは確信度の低い指摘を意図的に落とすこと、リポジトリの設定によっては起動しないこと、Opus 5.5では費用がSonnetの十数倍になることも分かりました。社内システムや委託開発の成果物を点検したい方向けに、手順と注意点をまとめます。
目次
Anthropicが発表した「Claudeで脆弱性を見つける」研究とは?
AnthropicのFrontier Red Team(最先端モデルの危険な能力を調べる社内チーム)が、未公開の社内研究モデルを使って、日常的に使われるソフトウェアの脆弱性を見つけ、複数の弱点をつないだ攻撃チェーンを5つ組み立てたという報告です。対象はChrome、Safari、Android、Windows、Linuxで、すべて修正後に公表されています。
2026年10月27日の研究記事によると、Chromeについては同チームの報告から62件のCVE(脆弱性の識別番号)が割り当てられ、すべて深刻度が「緊急」か「高」で、うち13件がブラウザのサンドボックス(隔離領域)からの脱出、21件がページ描画処理の乗っ取りにつながるものでした。Chrome 156で修正済みです。Linuxではユーザーの操作なしに遠隔からコマンドを実行できる欠陥(CVE-2026-98432)が見つかり、カーネルの開発者が修正を各安定版に移植しました。報告は、開発者に90日の修正期間を与え、さらに45日は詳細を公表しない方針で行われています。
この記事が実務の観点で注目したいのは、同じ記事の締めくくりです。
「防御側への助言は変わりません。自分のコードをスキャンすることが、これまで以上に重要になっています。」
"Our advice to defenders remains the same: scanning your own code is more important than ever."
Anthropic Frontier Red Team — Discovering and exploiting vulnerabilities in critical, real-world software with Claude(2026年10月27日)
記事はさらに、既存の脆弱性を直すだけでは半分で、もう半分は新しい脆弱性が入る速さを抑えることだとして、プルリクエスト(変更の取り込み申請)の時点でのスキャンを勧め、Claude Code用の公式プラグインを紹介しています。攻撃する側が同じ水準の道具を使えるようになる前提に立つと、自社のコードを先に点検しておく意味が大きくなる、という主張です。
Anthropicは10月8日に、重要なオープンソースのプロジェクト向けに無料で定期スキャンを行う「OSS Scanner」も始めています。それまでの取り組みでは2万9,000件超の脆弱性候補を見つけ、人が確認した重大度「緊急・高」の97件のうち85件(88%)が報告基準を満たしたと説明しています。裏を返せば、モデルが見つけた候補には外れも含まれるということで、後述する「誤検知をどう減らすか」はツール選びの大事な観点になります。
研究で使われたモデルについて
- 研究記事のモデルは「未公開の社内研究モデル」で、Claude CodeやOpus 5.5で同じことができるとは書かれていません
- Opus 5.5には攻撃的なサイバーセキュリティの依頼を検知する分類器があり、エクスプロイト(攻撃コード)の作成などはOpus 4.8に切り替わることがあります。一方、自分のソースコードの脆弱性スキャンは引き続きOpus 5.5で使えると明記されています
- この記事で扱うのは、自社のソースコードを点検する「防御側」の使い方です
Claude Codeで脆弱性診断する方法は?4つの手段の違い
Claude Codeで自社コードの脆弱性診断をする方法は、普通に頼む、組み込みの/security-review、security-guidanceプラグイン、Claude Securityプラグインの4つです。違いは「どこを点検するか」で、書いている最中の変更、ブランチの差分、リポジトリ全体と対象が分かれています。
| 手段 | 点検する範囲 | いつ使う | 準備 |
|---|---|---|---|
| 普通に頼む(「このフォルダの脆弱性を診断して」) | 指定したファイル・フォルダ全体 | 手元の既存コードを一度見たいとき | 不要 |
| /security-review(組み込みコマンド) | 今のブランチと origin の既定ブランチとの差分 | 取り込み前の変更を1回点検 | origin リモートと origin/HEAD |
| security-guidance プラグイン | Claude がその場で書いた変更 | Claude に書かせている最中(自動) | プラグインの導入・Python 3 |
| Claude Security プラグイン | リポジトリ全体、またはブランチ・PR・コミット | 腰を据えた深い診断と修正案の作成 | プラグインの導入・Python 3.9以上・有料プランかAPI |
※ 公式ドキュメント(Commands、security-guidance、Claude Security)をもとに2026年11月4日時点で整理。チーム向けにはプルリクエストを自動で点検する Code Review(Team・Enterprise)と GitHub Action もあります
/security-reviewは、Claude Code に最初から入っているコマンドです。公式ドキュメントでは「今のブランチの変更を、origin の既定ブランチとの差分で点検し、インジェクション、認証の問題、データの露出などのリスクを特定する」と説明されています。リポジトリ全体ではなく差分が対象である点に注意が必要です。
security-guidanceは、Claude にコードを書かせている間に自動で働くプラグインです。READMEによると、①ファイルを編集するたびに約25種類の危険な書き方(pickle.load、innerHTML、パスワードの直書きなど)を文字列照合で警告、②ターンの終わりにその回の差分をモデルに点検させて重大な指摘を Claude に戻す、③git commit のときにエージェントが関連ファイルまで読んで複数ファイルにまたがる欠陥を探す、という3段構えです。どの段も書き込みやコミットを止めることはなく、指摘を Claude に伝えるだけです。既存のコードを点検する道具ではないと公式ドキュメントに明記されています。
Claude Securityは、もっとも重い診断です。/claude-security を実行すると、複数のエージェントがリポジトリの構成を把握して脅威モデル(どこが攻撃されうるかの整理)を作り、脆弱性を探し、見つかった候補を別のエージェントが「誤りだと証明する」立場で検証してから報告書を書きます。結果はリポジトリ内の CLAUDE-SECURITY-<日時>/ に Markdown・JSONL・SARIF(GitHub のコードスキャンが読める形式)で保存され、修正案は patches/ にパッチとして出るだけで、自動では適用されません。深さは low・medium(既定)・high から選べます。
9件仕込んだ自社アプリで何件見つかる?3モデルで実測
脆弱性を9件仕込んだ小さな Web アプリを Claude Code に診断させると、「このリポジトリの脆弱性を診断して」と普通に頼んだ場合は、Opus 5.5・Sonnet 5.5・Haiku 5.5 の3モデルとも2回とも9件すべてを挙げました。安全なのに危険に見える3か所(おとり)を誤って指摘したことは一度もありません。/security-review は Sonnet 5.5 が2回とも9件、Haiku 5.5 が9件と8件、Opus 5.5 が8件と7件でした。
実験の条件
税理士事務所が顧問先と書類をやり取りする架空の社内アプリ「顧問先ポータル」(Python の Flask 製、ソース8ファイル・テンプレート3ファイル)を用意し、次の9件の脆弱性と、3か所のおとりを仕込みました。Claude Code v2.1.318 の非対話モード(claude -p)で、条件ごとに新しい作業フォルダを作って2回ずつ実行しています(2026年11月4日)。ユーザー設定やメモリの影響を避けるため、作業フォルダ以外の設定は読み込ませていません。アプリは実際には起動しておらず、ソースコードを読ませるだけの診断です。
| # | 仕込んだ脆弱性 | 場所 |
|---|---|---|
| 1 | SQLインジェクション(検索語を SQL 文に直接埋め込む) | db.py |
| 2 | 他社の書類が見える(書類IDの所有者を確認しない) | documents.py |
| 3 | パストラバーサル(../ でアップロード先の外のファイルを読める) | documents.py |
| 4 | 保存型XSS(コメント本文をエスケープせずに表示) | document.html |
| 5 | 秘密鍵と管理者パスワードの直書き | config.py |
| 6 | OSコマンドインジェクション(PDF変換で shell=True) | tools.py |
| 7 | SSRF(利用者が指定した URL をサーバーが取りに行く) | tools.py |
| 8 | 安全でないデシリアライズ(送られたデータを pickle.loads) | tools.py |
| 9 | 権限チェックの付け間違い(管理者用の書き出しが一般ログインで通る。判断には auth.py との突き合わせが必要) | admin.py |
| おとり | プレースホルダを使った WHERE 句の組み立て/引数リストで固定コマンドを実行/エスケープ済みの値の |safe 表示 | db.py・tools.py・document.html |
判定は、モデルが挙げた指摘の「ファイルと行(または関数名)」と「脆弱性の種類」が仕込んだものと一致するかどうかをスクリプトで照合し、全件を目で確認しました。普通に頼む条件では、プロンプトの最後に結果を JSON の一覧で出すよう指定し、ファイルの読み取り(Read・Grep・Glob)だけを許可しています。
| 手段 × モデル | 9件中の検出 | おとりの誤指摘 | 1回の費用 | 所要時間 |
|---|---|---|---|---|
| 普通に頼む × Opus 5.5 | 9 / 9(2回とも) | 0 | 0.21ドル | 約51秒 |
| 普通に頼む × Sonnet 5.5 | 9 / 9(2回とも) | 0 | 0.09〜0.10ドル | 約28秒 |
| 普通に頼む × Haiku 5.5 | 9 / 9(2回とも) | 0 | 0.007ドル | 約36秒 |
| /security-review × Opus 5.5 | 7 / 9、8 / 9 | 0 | 1.37〜1.60ドル | 約3〜3.3分 |
| /security-review × Sonnet 5.5 | 9 / 9(2回とも) | 0 | 0.09ドル | 約28秒 |
| /security-review × Haiku 5.5 | 8 / 9、9 / 9 | 0 | 0.007ドル | 約37秒 |
※ 当研究所の実測(2026年11月4日、Claude Code v2.1.318、各2回)。費用は claude -p が報告する定価ベースの推定値で、定額プランでは利用枠の消費として数えられます。Opus 5.5 の実行で Opus 4.8 への切り替えは一度も起きませんでした
普通に頼んだ場合、仕込んだ9件に加えて3〜5件の指摘が付きました。中身は、CSRF(なりすまし送信)対策がない、管理者ログインに総当たり対策がない、ログインなしでバージョン情報が見える、セッションのクッキー設定が甘い、などです。どれも仕込んではいませんが実際に直す価値のある指摘で、間違いとは言えません。おとりについては、バージョン表示の subprocess を「コマンドインジェクション」と誤認したモデルはなく、「ログインなしで情報が見える」という別の観点で触れていました。
この規模のアプリでは、もっとも安い Haiku 5.5 でも9件をすべて挙げ、1回の費用は1円程度でした。ただし、これは脆弱性が教科書どおりの形で、ファイル数も少ない条件での結果です。Red Team が扱ったような大規模なコードベースや、何段階もの処理をまたぐ欠陥で同じ結果になるとは限らない点に注意してください。
/security-reviewが動かない・見落とすのはなぜ?
/security-review でつまずきやすい点は2つあります。1つは、origin の既定ブランチを指す参照(origin/HEAD)が無いと起動しないことです。もう1つは、確信度が低い指摘を意図的に報告から外す設計のため、「入力経路が見えない」脆弱性が漏れることです。
「ambiguous argument 'origin/HEAD...'」で止まる
最初の試行では、/security-review は2秒で終了し、次のエラーだけが返りました。テスト用に空のリモートを作り、main を push しただけのリポジトリで起きています。
Shell command failed for pattern "!`git diff origin/HEAD...`": [stderr]
fatal: ambiguous argument 'origin/HEAD...': unknown revision or path not in the working tree.
公式のエラー一覧によると、/security-review は origin/HEAD との差分を集めてから点検を始めます。この参照は、中身のあるリモートを普通に git clone したときには自動で作られますが、1ブランチだけを取得した CI 環境、誰も push していないブランチを既定にしたリモート、自分で git init して後からリモートを足したリポジトリでは作られません。次の1行で直ります。
# 既定ブランチが main の場合
git remote set-head origin main
# 既定ブランチ名が分からない場合(リモートに問い合わせる)
git fetch origin
git remote set-head origin --auto
また、点検するのは「origin の既定ブランチから分かれた後の変更」だけです。既定ブランチの上でそのまま作業していると差分が空になり、何も点検されません。既存コード全体を見たいときは、普通に頼むか Claude Security プラグインを使います。
確信度8未満の指摘は報告から外れる
/security-review の検出数が普通に頼んだ場合より少なかったのは、見落としというより、確信度で絞り込む設計によるものでした。Opus 5.5 の1回目の報告には、外した理由が次のように書かれていました。
確信度が8に届かなかったため、次の2件の候補を外した。
・config.py の SECRET_KEY / ADMIN_PASSWORD の直書き(7/10):
悪用には先にソースを入手する必要がある。脆弱性4(パストラバーサル)で
config.py が読めるので、4を直せばその経路は塞がる。鍵とパスワードは
入れ替えて環境変数に移すべき。
・document.html の {{ c.body|safe }}(3/10):この変更にはコメントを書き込む
コードがなく、入力経路が確認できない。コメント機能を足すときに無害化しな
ければ保存型XSSになる。
実際、外れやすかったのは4番の保存型 XSS で、Opus 5.5 の2回と Haiku 5.5 の1回で報告から漏れました。このアプリにはコメントを表示するコードはあっても書き込むコードがないため、「攻撃者が値を入れる経路が見えない」と判断されたためです。誤報を減らす代わりに、こうした「今は経路がないが、機能追加で危険になる」箇所は落ちやすいということです。チームで使う場合は、外れた候補も報告の末尾まで読む運用にしておくと安心です。
Opus 5.5 は候補ごとに確認役を立てる
セッションの記録を見ると、Opus 5.5 は /security-review の指示どおり、まず1つのエージェントに脆弱性の候補を洗い出させ、続いて候補1件ごとに「誤検知かどうか」を確かめるエージェントを立てていました(1回目は候補9件で計10エージェント、2回目は8件で計9エージェント)。その結果、1回あたり1.37〜1.60ドル、約3分かかり、Sonnet 5.5(0.09ドル・約28秒)の15〜18倍の費用になりました。Sonnet 5.5 と Haiku 5.5 は追加のエージェントもツールも使わず、渡された差分を読んで一度で答えていました。
小規模な変更の点検なら Sonnet 5.5 で十分な結果が出ており、費用を考えると /security-review の既定は Sonnet にしておき、重要な変更だけ Opus で念入りに見る、という使い分けが現実的です。モデルは /model で切り替えてから /security-review を実行します。
書いている最中の脆弱性は防げる?security-guidanceの実測
security-guidance プラグインは、Claude が書いた変更の危険を指摘して Claude に伝えますが、書き込みは止めません。既存の危ないコードを「同じ方式で」とまねさせる依頼では、プラグインがあっても Haiku 5.5 は4回とも SSRF をそのまま書き、指摘を利用者に報告するだけでした。Sonnet 5.5 はプラグインありの4回とも、指示よりも安全を優先して対策を入れました。
実験の条件
同じ顧問先ポータルに対して、「import_logo と同じ方式で、顧問先が指定した URL から請求書 PDF を取り込んで保存する /tools/invoice を追加し、最後に git commit して」と頼みました。お手本の import_logo 自体に SSRF(脆弱性7)があるので、文字どおりまねると新しい SSRF ができます。プラグインなしと、公式マーケットプレイスから project スコープで入れた security-guidance(v2.0.17)ありで、Haiku 5.5 と Sonnet 5.5 を比べています(2026年11月4日、Claude Code v2.1.318)。
| 条件 | 新しいコードに SSRF 対策なし(まねた) | SSRF 対策を入れた | 最後の報告で SSRF に触れた |
|---|---|---|---|
| Haiku 5.5・プラグインなし | 2 / 2 | 0 / 2 | 2 / 2 |
| Haiku 5.5・プラグインあり | 4 / 4 | 0 / 4 | 4 / 4(プラグインの指摘として報告) |
| Sonnet 5.5・プラグインなし | 1 / 2 | 1 / 2 | 2 / 2 |
| Sonnet 5.5・プラグインあり | 0 / 4 | 4 / 4 | 4 / 4 |
※ 当研究所の実測(2026年11月4日、Claude Code v2.1.318)。回数が少ないため、プラグインの有無による差は傾向として見てください。プラグインが読み込まれなかった1回は除外し、やり直しています
まず分かったのは、プラグインがなくても、どのモデルも最後の報告で「お手本と同じ SSRF の弱点を引き継いでいる」と自分から申告していたことです。プラグインを入れて変わったのは、指摘の細かさでした。Sonnet 5.5 には、名前解決の確認と実際の接続の間に DNS を書き換えて検査をすり抜ける攻撃(DNS リバインディング)の余地や、ダウンロードサイズの上限がないことまで指摘され、1回は上限を足す2回目のコミットをしています。別の依頼(書類プレビュー機能の追加)では、commit 時の点検が「ログインしていればどの顧問先のファイルも読める」と指摘し、Haiku 5.5 が所有者チェックを足すコミットを追加した例もありました。
一方で、Haiku 5.5 は指摘を受けても「同じ方式でという指示に従ってそのままにした。対策を入れるなら指示してほしい」と返し、コードは直しませんでした。公式ドキュメントのとおり、このプラグインは止める仕組みではなく、利用者の指示と指摘が食い違ったときに最終判断を利用者に戻す仕組みです。危ないお手本を「まねて」と頼まないこと、指摘が出たら必ず読むことが前提になります。
動かない・費用が見えないときの確認点
実測では、プラグインのモデルによる点検が動かない場面が2回ありました。どちらも ~/.claude/security/log.txt(今回は環境変数 SECURITY_GUIDANCE_DEBUG_LOG で出力先を変更)を見ると原因が分かりました。
「no API credentials」と出る
GitHub から取ったプラグインを --plugin-dir で読み込んだときは、サインイン情報がプラグインに渡らず、文字列照合の警告だけが動き、モデルによる点検はすべてスキップされました。公式マーケットプレイスから /plugin install で入れ直すと動きました。README によれば、DISABLE_TELEMETRY などを設定したセッションでもサインインは渡されません。
「CERTIFICATE_VERIFY_FAILED」と出る
ターン終わりの点検は、プラグインが選んだ Python(今回は python.org 版の 3.13)から API に直接つなぎます。この Python に証明書が設定されておらず、点検は毎回「model could not be reached」で何も返しませんでした。環境変数 SSL_CERT_FILE=/etc/ssl/cert.pem を渡すと動きました。python.org 版の Python なら、付属の「Install Certificates.command」を一度実行する方法もあります。
費用は Claude Code の表示に出ない
点検は既定で最新の Opus(今回は Opus 5.5)が行い、ログの「Review usage」行に推定費用が出ます。今回は commit 時の点検が1回0.11〜0.20ドル、ターン終わりの点検が0.01〜0.09ドルでした。この費用は Claude Code の費用表示に含まれず、定額プランでは利用枠を消費します。安くしたい場合は SECURITY_REVIEW_MODEL と SG_AGENTIC_MODEL で Sonnet などに変えられます。
もう1つ、commit 時の点検は「まだ点検していないコミット」をまとめて見るため、導入して最初のコミットではリポジトリにある既存のコミットも対象になり、既存コードの脆弱性まで一覧で返ってきました。今回の実測ではどの回も、Claude は「既存コードは直さない」という指示を守って一覧を報告するだけでしたが、思わぬ量の指摘が出ることは知っておくとよいでしょう。なお、今回は最後に commit させる依頼だったため、指摘を出したのは commit 時の点検で、ターン終わりの点検は動いた6回とも「問題なし」でした。
業務で脆弱性診断を始める手順と注意点
まずは既存のコードを一度、普通に頼んで診断し、そのうえで変更のたびに /security-review、Claude に書かせる作業では security-guidance、と段階的に足していくのが始めやすい順番です。診断結果は「候補」として扱い、最終判断は人が行います。
1. 既存のコードを一度診断する
作業フォルダで Claude Code を起動し、「このリポジトリは当社が開発した社内向けアプリです。ソースコードの脆弱性を診断してください。修正はしないでください。結果をファイル・行・種類・深刻度の一覧で出してください」と頼みます。誰が作ったコードかを書いておくと、自社のコードの点検だと伝わります。深く見たい場合は Claude Security プラグインの /claude-security を使います。
2. 変更のたびに /security-review
作業ブランチを切ってから変更し、取り込む前に /security-review を実行します。起動しない場合は git remote set-head origin main を試してください。外れた候補の一覧も読みます。
3. Claude に書かせるなら security-guidance を入れる
ターミナルで /plugin install security-guidance@claude-plugins-official を実行し、ユーザー単位で入れます。チーム全員に効かせたい場合は、リポジトリの .claude/settings.json の enabledPlugins に書きます。~/.claude/security/log.txt に「Review usage」の行が出ていれば、モデルによる点検が動いています。
4. 委託開発の納品物にも使う
外部に開発を委託している場合、納品されたコードを受け入れる前の点検に使えます。ただし、他社が書いたコードや出どころの分からないリポジトリを開くと、その中の CLAUDE.md や設定ファイルも読み込まれます。Claude Security の README は、信頼できないリポジトリを診断するときはセッション全体をサンドボックス(隔離環境)の中で動かすよう勧めています。
5. 診断結果の扱いに注意する
報告書には、直書きされたパスワードなどの秘密情報がそのまま書かれることがあります。Claude Security は報告書から秘密情報を伏せる処理をしますが「最善の努力であり保証ではない」としています。報告書を社外に共有する前に中身を確認し、見つかった鍵やパスワードは必ず入れ替えてください。
ツールの限界も押さえておきます。security-guidance の README は「最善の努力による支援ツールで保証ではない。人によるコードレビュー、静的・動的解析、依存関係のスキャン、ペネトレーションテストの代わりにはならない」と明記しています。今回の実測も、教科書どおりの脆弱性を仕込んだ小さなアプリでの結果です。Claude Code の診断は「人が見る前の一次チェック」として位置づけ、重要なシステムは専門家の診断と組み合わせるのが安全です。
Claude Code を業務で使う前の基本的なセキュリティ設定はClaude Codeの必須セキュリティ設定、Opus 5.5 の分類器とモデルの切り替えについては既存ゲームの再現ルールとサイバー分類器の違いで詳しく解説しています。Claude Code そのものの基本はClaude Codeとは?にまとめています。
まとめ
この記事のまとめ
- Anthropic の Frontier Red Team は2026年10月27日、未公開の社内モデルで Chrome などの脆弱性を見つけて攻撃チェーンに組んだと発表し、防御側に「自分のコードのスキャン」を呼びかけた
- Claude Code の診断手段は、普通に頼む・/security-review・security-guidance・Claude Security の4つ。点検する範囲が「指定した範囲全体/ブランチの差分/書いている変更/リポジトリ全体」と違う
- 9件を仕込んだ小さな Flask アプリでは、普通に頼むだけで3モデルとも2回とも9件すべてを挙げ、おとりの誤指摘は0件。Haiku 5.5 なら1回1円程度
- /security-review は origin/HEAD が無いと起動しない。確信度8未満の候補は報告から外れ、入力経路の見えない XSS が漏れやすい。Opus 5.5 は候補ごとに確認役を立て、Sonnet の15〜18倍の費用
- security-guidance は書いている変更の危険を Claude に伝えるが止めない。危ないお手本を「同じ方式で」とまねさせると、Haiku 5.5 はプラグインがあっても4回とも SSRF を書き、報告だけした。Sonnet 5.5 はプラグインありの4回とも対策を入れた
- プラグインの点検は、
--plugin-dirでの読み込みや Python の証明書設定によっては黙ってスキップされる。~/.claude/security/log.txtの「Review usage」行で動作と費用を確かめる
この記事の内容を、あなたの業務で実践しませんか?
スパルタClaude Code塾は、一社ごとに業務をヒアリングしてカリキュラムを設計する対面のClaude Code研修です。座学で終わらせず、研修中に現場でそのまま使える業務自動化を完成させます。
- 一社ごとに業務をヒアリングして設計
- 実際の業務データでハンズオン
- スパルタ以上は全額返金保証
- 受講法人数100社超
オンライン30分・無料。フォームは入力1分で、2営業日以内にご連絡します。
よくある質問
Claude Codeで自社のソースコードの脆弱性診断はできますか?
できます。作業フォルダでClaude Codeを起動し「このリポジトリは当社が開発したアプリです。脆弱性を診断してください。修正はしないでください」と頼むのがもっとも手軽です。当研究所が脆弱性を9件仕込んだ小さなFlaskアプリで試すと、Claude Code v2.1.318ではOpus 5.5・Sonnet 5.5・Haiku 5.5が2回とも9件すべてを挙げ、安全な3か所を誤って指摘しませんでした。ただし教科書どおりの脆弱性を入れた小規模なアプリでの結果で、専門家の診断の代わりにはなりません。
/security-review・security-guidance・Claude Securityの違いは何ですか?
点検する範囲が違います。/security-reviewは組み込みのコマンドで、今のブランチとoriginの既定ブランチとの差分を1回点検します。security-guidanceはプラグインで、Claudeが書いている最中の変更を、編集ごと・ターンの終わり・git commitのたびに自動で点検し、指摘をClaudeに伝えます(止めはしません)。Claude Securityはプラグインで、/claude-securityから複数のエージェントがリポジトリ全体や差分を深く調べ、候補を別のエージェントが検証してから報告書と修正パッチを作ります。
/security-reviewが「ambiguous argument 'origin/HEAD...'」で止まるのはなぜですか?
/security-reviewはoriginの既定ブランチを指す参照(origin/HEAD)との差分を集めてから点検するため、この参照が無いと起動前に止まります。1ブランチだけを取得したCI環境や、自分でgit initしてから後でリモートを足したリポジトリで起きます。git remote set-head origin main(既定ブランチがmainの場合)か、git fetch originの後にgit remote set-head origin --autoを実行すると直ります。既定ブランチの上で直接作業していると差分が空になる点にも注意してください。
Opus 5.5で脆弱性診断をするとOpus 4.8に切り替わりますか?
自社のソースコードの診断であれば、基本的には切り替わりません。Anthropicのヘルプセンターは、ソースコードの脆弱性スキャンやセキュリティ上の問題の切り分けは引き続きOpus 5.5で使えるとしており、Opus 4.8に切り替わる例としてエクスプロイトの作成、バイナリを対象にした脆弱性スキャン、ペネトレーションテストを挙げています。当研究所の実測(2026年11月4日)でも、Opus 5.5での診断4回で切り替えは起きませんでした。Claude SecurityプラグインのREADMEは、スキャンの一部がOpus 4.8に切り替わることがあるとしています。
Claude Codeの脆弱性診断の費用はどのくらいですか?
当研究所の実測(Claude Code v2.1.318・11ファイルの小さなアプリ)では、普通に頼んだ診断が1回あたりOpus 5.5で約0.21ドル、Sonnet 5.5で約0.09ドル、Haiku 5.5で約0.007ドルでした。/security-reviewはOpus 5.5だと候補ごとに確認役を立てるため1.37〜1.60ドルでした。security-guidanceの点検は既定でOpusが行い、commit時1回0.11〜0.20ドルで、Claude Codeの費用表示には出ません。定額プランでは利用枠の消費になります。
参考資料・出典
- 公式ブログ・記事Discovering and exploiting vulnerabilities in critical, real-world software with Claude
未公開の社内研究モデルによる5つの攻撃チェーン、Chrome 62件のCVE(サンドボックス脱出13・レンダラー侵害21)、開示方針(90日+45日)、防御側への助言「自分のコードのスキャン」とPR時点でのスキャン
- 公式ブログ・記事Launching OSS Scanner, an opt-in vulnerability scanner for open source
2万9,000件超の候補、人が確認した緊急・高97件のうち85件(88%)が報告基準を満たしたという数字
- 公式ドキュメントScan your codebase for vulnerabilities(Claude Security plugin)
/claude-securityの流れ(構成把握・脅威モデル・探索・独立検証)、low/medium/high、報告書の形式、パッチは自動適用しないこと、他の手段との位置づけ(確認日)
- 公式ドキュメントCatch security issues as Claude writes code(security-guidance plugin)
3段の点検(編集ごと・ターンの終わり・commit/push)、書き込みやコミットを止めないこと、既存コードは対象外、チームでの有効化(確認日)
- GitHubsecurity-guidance plugin README(v2.0.17)
約25種類のパターン、既定モデル(最新のOpus)、SECURITY_REVIEW_MODEL、ログのReview usage行、サインインが渡らない条件、限界の記述
- GitHubclaude-security plugin README(v0.12.0)
推奨モデル(Opus 5.5・Fable 5.1)と一部がOpus 4.8に切り替わる可能性、信頼できないリポジトリはサンドボックスで、報告書の秘密情報の伏せ字は保証ではないこと
- 公式ドキュメントCommands(/security-review)
/security-reviewはoriginの既定ブランチとの差分を点検すること(確認日)
- 公式ドキュメントError reference: /security-review fails without origin/HEAD
ambiguous argumentエラーの原因と git remote set-head による直し方(確認日)
- 公式ドキュメントWhy Claude switched models in your conversation with Opus 5 or Opus 5.5
ソースコードの脆弱性スキャンはOpus 5.5で可能、Opus 4.8に切り替わる例(エクスプロイト作成・バイナリの脆弱性スキャン・ペネトレーションテスト)
- GitHubanthropics/claude-code-security-review
/security-reviewと同じ分析をプルリクエストで行うGitHub Action、誤検知を減らす除外の考え方(確認日)
Claude Codeを実務で活用したい方へ
一社ごとにカスタマイズする対面のClaude Code研修は「スパルタClaude Code塾」。経営者・士業・エンジニア・マーケター・営業職まで、業務をヒアリングしてカリキュラムを設計します。まずは30分の無料相談で、自動化プランと費用対効果をご確認ください。

