Claude Securityのスキャン強度をlow・medium・highから選ぶ
Claude Securityプラグインのスキャン強度(effort)3段階の違いと指定方法、大規模リポジトリで見落としを減らす再スキャンの組み立て方をまとめます。
Claude Securityプラグインのスキャン強度(scan effort)は、スキャンをどこまで深く掘るかを決める設定で、low・medium・high の3段階があります。既定は medium です。指定は専用のフラグではなく、Claude Codeのプロンプトに強度を書き添えるだけで済みます。
結論から言うと、使い分けは3行で足ります。
low: まず全体像をざっと見たいときmedium: 迷ったらこれ(何も指定しなければこれ)high: 大きなリポジトリで、mediumの結果が少なく感じたとき
この記事では、3段階の中身の違い、指定の書き方、high を選ぶ判断、強度を変えたスキャン同士を比べるときの注意点を順に扱います。プラグイン全体の入口はClaude Securityの全体像にあります。
3段階で何が変わるのか
プラグインは、リポジトリ全体をスキャンするとき、Claudeのエージェントがアーキテクチャーを把握し、脅威モデルを組み、脆弱性を探し、すべての指摘を独立に見直してからレポートを書きます。強度が変えるのは、この流れの深さです。
| 強度 | 位置づけ | 流れの違い |
|---|---|---|
low | 位置づけ手早い最初の確認 | 流れの違いアーキテクチャーマップと脅威モデルを省く(コードベースのスキャンで) |
medium | 位置づけ既定 | 流れの違い標準の流れ |
high | 位置づけmedium の上乗せ | 流れの違い同じコードに対して、脆弱性を探す作業が増える |
low で省かれるのは、探索の前段にあたる2つの工程です。つまり low は、探索の足場づくりを飛ばして素早く見て回る設定です。high は逆に、medium の工程をそのまま行ったうえで、同じコードをさらに探します。
強度が変えないもの
独立検証
3段階とも同じ
low・medium・highのどれでも、指摘は同じ独立検証を通る
ここが読み違えやすい点です。low は検証を甘くした設定ではありません。レポートに載る指摘は、どの強度でも独立した検証エージェントの分析を通ったものだけです。変わるのは「探す量と下準備の有無」で、「載せる基準」ではありません。
強度の説明には、強度ごとの所要時間や消費トークンの倍率は書かれていません。「high は medium の何倍かかる」といった数字を前提に計画を立てることはできないので、重いと感じたら範囲を絞る方向で調整します(後述)。
強度の指定は、依頼文の末尾に書く
指定の方法は、/claude-security に渡す依頼文の中で強度を名指しすることです。例として挙がっているのは次の2つです。
/claude-security scan my public API code at high
/claude-security scan my branch at high1行目は、公開APIまわりのコードに範囲を絞って high で走らせる例です。2行目は、ブランチの差分に対して high で走らせる例です。どちらも「何を」「どの強度で」を一文で伝える形になっています。
メニューから入る場合は、/claude-security を開いてScan codebaseを選びます。強度を書かない依頼は medium として扱われるため、既定でよければ何も足さなくて構いません。
強度の説明ページで例として挙がっているのは high の2つだけです。low も、強度の語を差し替えた同じ形で書けます。
/claude-security scan my codebase at low依頼文は自然文でも通ります。サブコマンド風の書き方に限らず、「scan commit abc1234」のような平易な頼み方も受け付けます。強度の指定も、その文の中に自然に混ぜられます。
どの強度から始めるか
初回の様子見なら low、結果が薄いと感じたら high です。
強度を決める順番
- Qリポジトリを初めてスキャンして、まず全体の様子を知りたいか?答えがはいのとき答えがいいえ
lowで手早く見ます。アーキテクチャーマップと脅威モデルを省くぶん、軽い確認になります。 - Q前回の `medium` の結果が、リポジトリの大きさに比べて少なく感じるか?答えがはいのとき答えがいいえ
highで再スキャンするか、同じ強度でもう一度走らせます。両方を組み合わせてもかまいません。
それ以外は medium のまま
通常の運用は既定の medium で足ります。強度を書かずに依頼してください。
注意したいのは、low が省く2つの工程の記述が「コードベースをスキャンするとき」に限られている点です。ブランチ・プルリクエスト・単一コミットの差分スキャンで low を選んだとき、何が省かれるのかは、プラグインのページに書かれていません。差分スキャンで効果が読めない以上、low の節約を当て込むより、差分の範囲そのものを絞るほうが確実です。
大規模リポジトリで見落としを減らす3つの手
大きなリポジトリで指摘が思ったより少ないときの手は3つあります。1つ目は high を選ぶこと、2つ目はもう一度スキャンすること、3つ目は範囲を絞ることです。
1つ目と2つ目は、どちらも medium の1回では出なかった指摘を拾える可能性があり、併用してかまいません。
3つ目の範囲を絞る手段は、プラグインが用意しています。大きなリポジトリでは、全体を一度に見るより、API層や認証まわりのような領域ごとに分けて走らせる使い方が向いています。絞ると、実行の大きさが選んだ範囲に合わせて決まり、レポートのカバレッジ欄には、見た範囲と見ていない範囲が書かれます。
3つの手を並べると、役割が違うことが分かります。
見落としを減らす手の違い
強度を上げる
同じ範囲を、より深く探します。範囲は変わりません。
再スキャンする
同じ強度でも、結果は変わりえます。スキャンは非決定的で、同じコードを2回走らせると違う指摘が出ることがあるためです。
範囲を絞る
領域ごとに分けて、1回ごとの対象を小さくします。見ていない範囲はカバレッジ欄で確認できます。
強度を上げても、再スキャンしても、範囲を絞っても、見つかる指摘の総量は保証されません。どれも「見落としの確率を下げる手段」であり、「見落としがないことの証明」にはなりません。
強度を変えたスキャン同士を比べるときの落とし穴
medium の次に high で走らせると、指摘の件数が増えることがあります。件数の増加を「コードが悪化した」と読むのは早計です。理由は2つあります。
- 強度が違えば、探す量が違う
- 強度が同じでも、スキャンは非決定的である
比べるときの手がかりが、スキャンごとに書き出される CLAUDE-SECURITY-REVISION-<commit>.json です。このファイルには、どのコミットをスキャンしたか、どの強度で実行したか、未コミットの変更を含んでいたか、検証をどこまで徹底したかが記録されています。レポートを「どのコードを、どの設定で見た結果か」に結びつけるためのスタンプです。結果ファイル4種の役割はClaude SecurityのSARIFと結果ファイル4種の読み方に詳しくまとめています。
落とし穴
強度が違うレポートを並べて、件数の増減を比べる
medium のレポートと high のレポートで件数が違うのは、コードの変化ではなく設定の差かもしれません。比較の前に、2つのリビジョンスタンプでコミットと強度が揃っているかを見てください。強度を揃えても件数は揺れるため、同じ設定の2回分を並べたときの差が「ばらつきの幅」の目安になります。
運用の組み立て方としては、次のような流れが考えられます。ページが示しているのは「定期的にスキャンし、スタンプで各レポートを対象のコードと設定に結びつける」という方針までで、ここから先は、その方針を強度に当てはめた一例です。
強度を変えて確かめる流れの一例
- 1
medium で基準をつくる
強度を指定せずにスキャンし、レポートとスタンプを残します。
- 2
同じコミットで high を走らせる
コードを変えずに強度だけ上げ、
mediumになかった指摘を確認します。 - 3
スタンプで条件を突き合わせる
コミットが同じで、強度だけが違うことを確かめてから、指摘の差を読みます。
- 4
追加の指摘を判断する
highだけに出た指摘は、通常のレポートと同じく、深刻度と確信度を見て優先順位をつけます。
手順3で「コミットが同じ」を確かめるのは、未コミットの変更が混ざるのを避けるためでもあります。全体スキャンは作業ツリーを読むので、編集途中のファイルも対象になります。差分スキャンはコミット済みの変更だけを見ます。深刻度の読み方はClaude Securityの脆弱性タイプと深刻度の判定基準で扱っています。
強度を上げる前に押さえておく前提
強度の設定だけでスキャンが完結するわけではありません。プラグインを動かすには、次の前提が要ります。
- 有料プラン、Anthropic APIへのアクセス、またはサードパーティープロバイダー(スキャンが使うダイナミックワークフローのため)
python33.9以降がPATHにあること- Linux・macOS・Windowsのいずれか
- 差分スキャンやパッチ作成にはGitが必要(全体スキャンはバージョン管理なしのディレクトリでも動く)
ダイナミックワークフローは、スキャンがエージェントを束ねるための仕組みです。Proプランでは /config のDynamic workflowsの行からオンにします。ワークフローの詳細はworkflowsのページにあり、実行中の各段階は /workflows で確認できます。
モデルについても押さえておく点があります。脆弱性を探すエージェントや検証・パッチ作成のエージェントは、セッションで選んでいるモデルで動きます。変えたいときは、スキャンを始める前に /model を実行します。リポジトリの把握のような一部の補助工程だけは sonnet のエイリアスを使います。強度を上げるほど探す作業が増えるので、使うモデルとの掛け合わせで消費は変わります。
スキャンの消費は利用量(usage)に数えられます。実行前には確認の画面が出て、時間がかかること、トークンを多く使いうること、Claude Codeを開いたままにする必要があることが示されます。確認するまでは何も走りません。high を試す前に、この確認画面と範囲ごとの相対コストの表示を見てから進められます。
実行中の権限確認を減らしたい場合は、オートモードがよく合います。オートモードでは、スキャンのエージェントが各段階の許可プロンプトなしで進みます。
Web版の労力設定との関係
Claude Security本体(Web版)にもスキャンの労力を選ぶ設定がありますが、プラグインのページにはプラグインの low・medium・high との対応が載っていません。
そのため「medium がWeb版の標準」のような読み替えは根拠がないので避け、使う入口ごとに、その入口の設定名で考えるのが安全です。入口の違いはClaude Securityとはの使い分けの節にまとまっています。
継続スキャンと修正追跡のような、Web版側の新しい機能はClaude Securityの継続スキャンと修正追跡で扱っています。プラグインの強度設定は、あくまで手元のセッションで走らせるスキャンの話です。
まとめ
強度は「探す深さ」の設定で、載せる指摘の基準を変えるものではありません。初回の様子見は low、普段は何も書かずに medium、大きなリポジトリで結果が薄いと感じたら high か再スキャンか両方、という選び方になります。
そのうえで、強度を変えたレポートを比べるときは、リビジョンスタンプのコミットと強度を先に突き合わせます。件数の違いが設定の差なのか、スキャンの揺れなのかは、スタンプを見ないと切り分けられません。
参照した一次ソース
この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。