← Back
· Tips · 4日前

Claude Security プラグインで脆弱性を洗う — 検証済みパッチまで出す

🐧
nori_cli
Newcomer · Lv.1

Claude Security プラグインは、セッションの中でマルチエージェントの脆弱性スキャンを走らせる。アーキテクチャを地図にし、脅威モデルを立て、脆弱性を探し、見つけたものを別のエージェントが独立に検証してから報告する。導入手順、スキャンの種類、出力の読み方、パッチの扱いまでを整理する。

何をするものか

Claude のエージェントのチームがリポジトリを読み、脅威モデルを作り、脆弱性を探す。ここまでは他のツールでもある。特徴は、**検証エージェントが独立に分析を通したものだけが報告に載る**点にある。報告が短く保たれ、読む価値のあるものになる。

スキャンはローカルのセッションの中で走り、プランの利用枠を消費する。リポジトリを常時監視するマネージドサービスが欲しい場合は Enterprise プラン向けの別製品がある。逆にプラグインの方が届く範囲が広く、GitLab や Bitbucket でホストしているリポジトリ、外部からの接続を許していないネットワークにも使える。

前提

  • Claude Code v2.1.154 以降、有料プラン(スキャンが dynamic workflows を使うため)。Pro では `/config` の Dynamic workflows を有効にする
  • Python 3.9.6 以降が `python3` として PATH にあること。標準ライブラリしか使わないので追加インストールは要らない
  • Linux / macOS / Windows
  • 差分スキャンとパッチ生成には git が必要。リポジトリ全体のスキャンならバージョン管理は無くても動く

導入

/plugin install claude-security@claude-plugins-official

インストール結果に `Run /reload-plugins to activate.` と出たら、再起動せずに反映できる。

/reload-plugins

マーケットプレイスが見つからないと言われた場合は、`/plugin marketplace add anthropics/claude-plugins-official` を先に実行してから入れ直す。

3 つのジョブ

プラグインが追加するコマンドはひとつで、メニューから 3 つの仕事を選ぶ。

/claude-security

コードベース全体のスキャン、変更差分のスキャン、パッチの提案。メニューを経由せず `/claude-security scan my branch` のように引数で渡してもいいし、「commit abc1234 をスキャンして」と日本語で頼んでもいい。

権限プロンプトで各ステップが止まらないよう、auto モードで走らせるのが向いている。ジョブの開始時にプラグイン側からも案内が出る。

差分だけスキャンする

ブランチにベースへ入っていないコミットがあると、その差分だけをスキャンする選択肢がメニューに出る。マージ前の確認に使える。開いているプルリクエストのひとつを対象にすることも、単一のコミットを指定することもできる。

注意点として、対象になるのはコミット済みの変更だけだ。作業中の編集はコミットするかスタッシュしてから走らせる。あるいは作業ツリーを読む全体スキャンの方を使う。

大きなリポジトリでは全体を一度に見るより、API 層や認証まわりのように領域を絞って順に回す方がいい。報告のカバレッジ節に、何を見て何を見ていないかが明記される。

出力の読み方

スキャンごとにタイムスタンプ付きのディレクトリが作られる。

CLAUDE-SECURITY-<timestamp>/
├── CLAUDE-SECURITY-RESULTS.md          # 報告本体
├── CLAUDE-SECURITY-RESULTS.jsonl       # 同じ内容を1行1JSONで
└── CLAUDE-SECURITY-REVISION-<commit>.json  # どのコミットを見たかの刻印

報告には各指摘の ID(`F1` のような形式)、影響、悪用シナリオ、深刻度、確信度、推奨対応が入る。

リビジョンの刻印が地味に効く。どのコミットを、どの effort で、未コミットの変更を含む状態だったか、どこまで検証したかが記録されるので、報告が常に対象コードと結びつく。バージョン管理外のディレクトリをスキャンした場合はコミットの代わりに `UNVERSIONED` が刻まれる。

このディレクトリはスキャンがチェックアウトに加える唯一の変更で、自前の `.gitignore` を持っている。うっかり `git add` しても報告がコミットに紛れ込まない。監査証跡として履歴に残したいなら、その `.gitignore` を消してコミットすればいい。

スキャンは非決定的だという点も理解しておきたい。同じコードを 2 回スキャンしても違う指摘が出うる。定期的に回し、リビジョンの刻印でどの報告がどのコードと設定に対応するかを追う運用になる。

パッチは自動適用されない

指摘をパッチに変えるには、メニューから「Suggest patches」を選ぶか、「F3 を直して」のように頼む。

パッチはリポジトリのスクラッチコピーの中で作られるので、ソースファイルは自分が適用するまで一切触られない。さらに、書いたエージェントとは別のエージェントがレビューする。テストがあるコードならプロジェクトのテストを流し、差分自体も独立に読んで新しく持ち込まれるものが無いかを見る。

続きを読むには

無料でアカウント作成

CCHub は Claude Code 開発者のための日本語コミュニティです。

#claude-code#セキュリティ#ワークフロー

コメント