
Claude Codeなど4ツールに脆弱性|クリック不要で乗っ取り、Copilotは未修正
セキュリティ企業のAIR Security(エア・セキュリティ)が2026年9月17日、AIコーディングエージェント4種に共通する脆弱性「Plugin4Shell(プラグインフォーシェル)」を公開した。
対象はClaude Code、OpenAI Codex(コデックス)、GitHub Copilot(コパイロット)、Gemini CLIの4つ。
見どころは、利用者側の操作が一切要らない点にある。信頼できるマーケットから入れ、バージョンまで固定したプラグインが、本人が何もしないまま悪性コードへ差し替わる。研究チームは影響範囲を「数百万のエージェント」と表現している。
この記事では、固定したはずのバージョンがなぜ入れ替わるのか、4ツールのうちどれが直ってどれが直らないのか、そして今日手元で確認すべき点を整理する。
プラグインのSHA固定をすり抜ける手口
SHA固定とは、プラグインのコードをコミットハッシュ(40文字の識別子)で1点に留める仕組みだ。レビューを通した状態から中身が動かない状態を保証するために使われる。
攻撃者はこの保証を裏側から外せる。プラグインのリポジトリを操作できる場合、固定されたコミットハッシュと同じ名前のブランチを作る。gitはチェックアウト時に、コミットそのものよりブランチ名を先に解決してしまう。
AIR Securityは公開資料で、エージェント側の欠落をこう説明している。固定したコミットをチェックアウトはするが、実際にそこへ着地したかを検証しない。結果として悪性コードが入りながら、インストールは成功と表示される。
Gemini CLIだけは経路が違う。FETCH_HEADという名前のブランチを置くと、取得したコミットではなくそのブランチの中身にすり替わる。
固定は破られているのに、画面上は正常に見える。
4ツールの修正状況|Claude Codeは2.1.179で対応
公開時点の対応は4社で分かれた。
Claude Code:2.1.179以降で修正済み
OpenAI Codex:0.146.0以降で修正済み
GitHub Copilot:修正なし
Gemini CLI:修正の予定なし
Help Net Securityの報道によれば、4種のうち2種が未修正のまま公開に踏み切られた形になる。
被害を広げるのは自動更新との組み合わせだ。プラグインの自動更新が有効な環境では、差し替えられたコードが何の操作もなく取り込まれる。クリックが不要というのは、こういう意味になる。
AnthropicとOpenAIの2社は対応済み。残る2種を使っている場合、利用者側の設定では守れない。
Gemini CLIに修正が出ない理由
Googleは研究チームに対し、Gemini CLIは非推奨(deprecated)の扱いであり修正を出さないと回答している。後継のAntigravity(アンチグラビティ)への移行が案内されており、そちらは問題のあるプラグイン固定の仕組みを使っていない。
裏を返せば、すでに導入済みのGemini CLIは脆弱なまま残る。
研究チームは、この脆弱性が利用者側で埋められない理由も示している。ピン留めの解決はエージェントの内部で行われるため、エージェント側の修正だけが保証を取り戻せる。GitHub CopilotとGemini CLIについては、プラグインを入れないという選択以外に完全な回避策が示されていない。
公開までの流れは次のとおり。発見は2026年5月で、この時点で実証コードが用意されていた。6月に4社へ調整開示され、8月にGoogleが非推奨の方針を伝え、Codexの修正が検証されている。
発見から公開まで約4ヶ月。その間、修正が間に合わなかった製品が2つ残った。
要点サマリー
AIR Securityが9月17日に脆弱性「Plugin4Shell」を公開。対象はClaude Code、OpenAI Codex、GitHub Copilot、Gemini CLIの4種
プラグインのSHA固定を突破する。コミットハッシュと同名のブランチをgitが先に解決するため、固定したコードが差し替わる
エージェントは着地先を検証しないため、インストールは成功と表示される
修正済みはClaude Code 2.1.179以降とOpenAI Codex 0.146.0以降。GitHub Copilotは修正なし、Gemini CLIは修正予定なし
影響規模は「数百万のエージェント」。自動更新が有効な環境では操作なしで取り込まれる
エージェント側の修正が唯一の解決策とされており、設定変更での回避はできない。
まとめ|Claude Code 2.1.179への更新を確認
今日試せること:使っているエージェントのバージョンを確認する。Claude Codeなら `claude --version`、Codexなら `codex --version` で現在の番号が出る。
その数字が2.1.179と0.146.0に届いているかどうかで、今入っているプラグインを疑う必要があるかが決まる。
▼ 毎朝、AIの最新ニュースが1分で読める
Substack「えーAI」では、最新AIニュースと活用術を毎朝 無料配信している。
その日いちばん効くニュースだけを選び、1分で読める形にして届ける。
▼ あわせて読みたい
プラグインより前の段階、コマンド実行の承認そのものをAIに任せる流れも進んでいる。
エージェントが指示を外れて動いた実例は、開発元自身も公表している。
AIニュースは毎日更新。取りこぼしたくない方はフォローを。
※ この記事はAIによって執筆した記事です。誤りが含まれる可能性があります。重要な情報は必ず一次ソースをご確認ください。