PaPoo
cover

Claude Codeに“自動の目”を足す、Anthropicの無料セキュリティ監査プラグイン

Anthropicが、コードを書いている途中で脆弱性を見つけて警告してくれる「security-guidance」というプラグインを、Claude Code向けに無償提供しました。しかも対象は特定プランだけではなく、すべてのClaude Codeユーザー。こういう「便利だけど高そう」な機能を最初から広く配るのは、かなり攻めた打ち方だと思います。

image_0001.jpg

まず押さえておきたいポイント

image_0002.svg

image_0004.svg

image_0003.svg

「後で直す」から「書きながら防ぐ」へ

image_0005.svg

今回の話で面白いのは、セキュリティチェックを“最後の関門”ではなく、“作業中の相棒”にしているところです。

image_0007.svg

image_0006.svg

普通、セキュリティ監査というと、コードを書き終えてからレビューしたり、CIで静的解析を回したり、あるいは脆弱性診断ツールを別途走らせたりします。つまり、どこかで「まとめて確認する」発想が基本でした。

image_0008.svg

でもsecurity-guidanceは、その場で見つけて、その場で止める。コードを編集するとリアルタイムでスキャンし、怪しいものがあれば警告する。これは、うっかり危険な書き方をしてしまう人にはかなりありがたいはずです。特にAIにコーディングを手伝わせる場面では、「それっぽく動くけど、セキュリティ的にはまずい」コードが混ざることがあるので、こういう仕組みは実務で効きそうです。

image_0010.svg

image_0009.svg

個人的には、AIコーディングの弱点をAI側の補助機能で埋めにいっているのがいちばん興味深いです。AIで速く書けるようになったぶん、雑に危険な実装も一緒に増える。その副作用に、またAIでブレーキをかける。少し皮肉ですが、かなり今っぽい流れだと思います。

image_0011.svg

3つのタイミングで見張る仕組み

image_0013.svg

image_0012.svg

このプラグインは、Claude Codeの「Hook」という仕組みを使って動きます。Hookは、あるタイミングが来たら決まった処理を自動で走らせる仕掛けのことです。要するに、ユーザーが毎回「セキュリティ確認して」と命令しなくても、裏で勝手に働いてくれるわけです。

image_0014.svg

監査のタイミングは3つあります。

image_0016.svg

image_0015.svg

ひとつ目は、ファイルを編集した瞬間。ここでは、誤用されやすい危険なライブラリなど、明らかにリスクの高いパターンをパターンマッチングで見つけます。パターンマッチングというのは、コードの文字列や形を見て「この形は危ない」と判断する方式です。モデルを呼び出さないので、速くてトークンも消費しない。ここはかなり実用的です。毎回AIに相談するより、こういう軽い検査のほうが圧倒的に気楽ですから。

image_0017.svg

ふたつ目は、ターン終了時。ここでは、その場での変更履歴をまとめて見て、見落としがないかを確認します。もし問題があれば、その内容がClaudeにフィードバックされて、修正に反映される仕組みです。編集の断片だけを見るのではなく、変更全体を俯瞰するので、単発の危険だけでなく「組み合わせるとまずい」ケースにも目が届きやすいのだと思います。

image_0019.svg

image_0018.svg

三つ目は、コミット時。これはかなり本格的で、周辺コードまで読み込んで脆弱性を検証します。コミットというのは、変更をひとまとまりとして保存することです。ここでのレビューは、いわば最後の本番前チェック。軽い注意喚起ではなく、実際のセキュリティレビューに近い位置づけです。

image_0021.jpg

この3段階構成、地味ですが賢いです。編集のたびに重い解析を走らせるとストレスになりますし、逆に最終チェックだけだと手遅れになりやすい。軽い検査と重い検査を分けているのがうまいところだと思います。

image_0023.jpg

image_0022.jpg

何を見つけるのか

image_0024.jpg

検出対象として挙がっているのは、コードインジェクション、危険なデシリアライズ、危ないDOM操作、認証バイパスなどです。

image_0026.jpg

image_0025.jpg

難しい単語が並びますが、ざっくり言うと「悪意ある入力で変なコードを実行される」「外から来たデータを不用意に信用して壊される」「Web画面をいじるときに危険な穴を開ける」「ログインや権限チェックを抜けられる」といったタイプの問題です。どれも実害が大きいやつです。セキュリティ事故のニュースでよく出てくる顔ぶれ、と言っていいでしょう。

image_0027.jpg

ここで重要なのは、こうした脆弱性は“動くコード”を作るだけでは防げないことです。コードが完成して見えても、入力の扱い方ひとつで穴が空く。だからこそ、書いている途中で警告してくれるのは価値があります。後からレビューするより、そもそも危ない書き方を選ばせないほうが楽ですから。

image_0029.jpg

image_0028.jpg

Anthropicは、内部テストでプラグイン導入後にプルリクエストへのセキュリティ関連コメントが30〜40%減ったとも説明しています。これは単純に「レビューが不要になった」というより、「最初から危ないコードが減った」と見るのが自然でしょう。レビュー担当者にとってはかなり助かる結果だと思います。人間は、何度も同じ指摘をするのは疲れますから。

image_0030.jpg

監査の“視点”が独立しているのも地味にいい

image_0032.jpg

image_0031.jpg

記事の中で、脆弱性の検出はコードを書いたインスタンスとは別のコンテキストウィンドウで行われると説明されています。コンテキストウィンドウというのは、AIが一度に見て考えられる情報の範囲のことです。

image_0033.jpg

これが別になっていると、書き手の流れに引っ張られず、少し離れた視点でレビューしやすい。人間のコードレビューでも「書いた本人は見落とすけど、別の人ならすぐ気づく」ということがありますが、それを仕組みとして分けているわけです。こういう設計はかなり好感が持てます。AIが“作者の思い込み”に飲まれにくくなるので。

image_0035.png

image_0034.jpg

使うにはどうするのか

image_0036.png

インストールは、Claude Codeのプラグインマーケットプレイスから行えます。記事では、次のコマンドでも導入できるとされています。

image_0039.jpg

image_0038.jpg

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

image_0040.jpg

ただし、動作には「Claude Code CLI」v2.1.144以降と Python 3.8 以降が必要です。ここは地味ですが大事です。便利そうだからといって、古い環境にそのまま入るわけではないので、使う人は先にバージョン確認をしたほうがよさそうです。

image_0042.jpg

image_0041.jpg

こういう機能が広がる意味

image_0043.jpg

このニュース、単なる「新機能が出ました」では終わらない感じがあります。AIコーディングが普及するほど、速度は上がるけれど、品質のバラつきも大きくなります。特にセキュリティは、見た目の完成度ではごまかせません。動けばいいコードと、守りが固いコードは別物です。

image_0045.jpg

image_0044.jpg

だから、Claude Codeのような開発支援ツールにセキュリティ監査を組み込むのは、かなり筋がいいと思います。開発者が別ツールを立ち上げる手間を減らしつつ、危ない実装をその場で減らせる。これは“便利”というより、“事故を減らすための設計”に近いです。

image_0046.svg

もちろん、これで全部安全になるわけではありません。どんな自動チェックにも限界はありますし、複雑なロジックや文脈依存の脆弱性は人間の判断が必要です。それでも、最初の一歩としてはかなり強い。少なくとも「何も見ずにAIに書かせる」より、ずっと健全です。

image_0050.svg

image_0048.svg


image_0052.svg

参考: Anthropic、「Claude Code」向けにセキュリティ監査プラグインを無償提供/3つのレイヤーでコードベースからリアルタイムで脆弱性を検出・修正

image_0054.svg

同じ著者の記事