私たちはモノサシを置く。測るのはあなた。
検証

Plugin4Shell修正版を公式28件で照合

Plugin4Shell の発見者である Air Security は2026年9月17日付の記事で、Claude Code は 2.1.179、Codex は 0.146.0 で修正され、GitHub Copilot は Microsoft が修正を出しておらず、Gemini CLI は Google が修正しないと書いていますが、開発元のリポジトリには SHA 固定のチェックアウトを確かめる変更として openai/codex リポジトリの PR #34644(マージ済み、0.146.0 のリリースに掲載)と Gemini CLI のリポジトリの PR #28422(2026-09-28 時点で未マージ)があり、Claude Code については CHANGELOG の 2.1.179 の節9項目・Security Advisories 31件・Issues と PR の検索、GitHub Copilot については Copilot CLI の changelog・Security Advisories 2件・Microsoft の2026年7〜9月の月次データの範囲で、該当する記載を見つけられませんでした。プラグインの自動更新は、Anthropic のドキュメントでは Anthropic の公式マーケットプレイス(2つを除く)と claude.ai から追加したものが既定オン、それ以外が既定オフ、GitHub のドキュメントでは組み込みのマーケットプレイスが自動更新で自分で追加したものは設定で有効にする形と書かれており、手元の端末の版とプラグインの入手元のマーケットプレイスは、この記事では確かめられません。

この記事は、Claude Code や Codex などのコーディングエージェントを業務で使っている人が、Plugin4Shell について「自分が使っている製品の開発元は、どの版で直したと公式に書いているか」を確かめるための記録です。発見者が書いたことと、開発元が自分のページに書いたことを分け、どちらも原文のまま引きます。

最終確認
2026-09-28
確認方法
発見者の記事(公開中の版と 2026-09-17 の保存版)と、4製品の開発元の公式ページ28件(Anthropic 8、OpenAI 6、GitHub 7、Microsoft 3、Google 4)を取得し、製品ごとに「誰が・何と・どの版で・いつ・どこに」書いたかを突き合わせた。あわせて4製品のリポジトリの Issues と PR を GitHub の検索 API で検索し、仕組みに当たる PR 2件(openai/codex の #34644、Gemini CLI の #28422)を読んだ。発見者の記事が「GitHub Copilot」と書いている対象が Copilot CLI なのかエディタの拡張機能なのかは発見者の記事からは決まらないため、GitHub についてはプラグインのマーケットプレイスの記載がある Copilot CLI のページを読んだ
扱わないもの
攻撃の再現、深刻度の評価、読者の端末が該当するかどうか、発見者の製品
更新周期
毎月(開発元の記載が追加されうるため)

この記事は何を、どこまで確かめたか

確かめたのは、発見者 Air Security の記事に書かれた4製品それぞれの状態と、開発元4社(Anthropic・OpenAI・GitHub と Microsoft・Google)が自分の公式ページに書いた修正・告知・アドバイザリ・自動更新の既定値です。開発元の公式ページは28件を読み、いずれも 2026-09-28 に取得しました。28件に数えたのは開発元のサイトとリポジトリにドキュメント・CHANGELOG・リリース・アドバイザリ・告知・月次データとして載っているページで、PR と Issues は作成者が開発元の担当者かどうかがその記載から決まらないため、マージ済みかどうかにかかわらず数えていません。

書いた主体読んだページ何を確かめるために読んだか
発見者(Air Security)Plugin4Shell の記事(著者表示:Or Nevo、Dor Granat、Niv Hoffman。日付表示:September 17, 2026)と 2026-09-17 20:15 UTC の保存版4製品の状態、Timeline、仕組みと成立条件
AnthropicClaude Code の CHANGELOG、v2.1.179 のリリース、Security Advisories、ドキュメント5ページ(プラグインの導入・読み込みの仕組み・マーケットプレイスの置き場所・マーケットプレイスの仕様・セットアップ)2.1.179 の変更内容、自動更新の既定値と切り方、版の確かめ方
OpenAI0.146.0 のリリース、ChatGPT & Codex changelog、ドキュメント3ページ(Plugins・設定リファレンス・プラグイン管理)、Security Advisories0.146.0 の変更内容、自動更新の既定値
GitHubCopilot CLI の changelog、GitHub Docs 2ページ(プラグインの仕様・プラグインの導入)、Security Advisories、GitHub Advisory Database の copilot 検索、GitHub Changelog、GitHub Blog の Security修正の記載、自動更新の既定値、アドバイザリ
MicrosoftSecurity Update Guide の月次データ(CVRF)3件(2026年7月・8月・9月)Copilot についての脆弱性情報の記載
GoogleGoogle Developers Blog の告知、同じ告知の GitHub Discussion #27274、Security Advisories、リリース一覧移行の告知の文言、修正・アドバイザリの記載
リポジトリの PR(作成者が開発元の担当者かどうかは PR の記載から決まらない。28件には数えない)openai/codex リポジトリの PR #34644(マージ済み)、Gemini CLI のリポジトリの PR #28422(未マージ)仕組みに当たる変更の説明

28件とは別に、4製品のリポジトリの Issues と PR を GitHub の検索 API で検索しました(いずれも 2026-09-28 02:10 JST 取得)。Plugin4Shell での検索は Claude Code・Codex・Copilot CLI・Gemini CLI の4リポジトリとも0件でした。仕組みの語での検索は、Claude Code を plugin sha checkout(45件)、Copilot CLI を plugin sha(8件)、Gemini CLI を FETCH_HEAD(10件)で行いました。この中で、SHA と同じ名前の枝(Gemini CLI では FETCH_HEAD と同じ名前の枝)を取り違える現象を扱っていたのは、Gemini CLI の PR #28422 でした。Claude Code と Copilot CLI の検索結果は、タイトルと、本文を ambigu・same name・default branch・FETCH_HEAD で検索した範囲で、この現象を扱ったものを見つけられませんでした。

このほか、Claude Code の各版の公開日時を npm の公開記録で、CVE の有無を NVD の検索 API で確かめました。npm と NVD はどちらも開発元が書いた文ではないため、28件には数えていません。

発見者の記事は、Internet Archive の保存版の一覧で 2026-09-17 から 2026-09-23 までの保存版が9件あり、内容の指紋(digest)は4通りでした。いちばん古い 2026-09-17 20:15 UTC の保存版と 2026-09-28 に取得した版を比べると、冒頭の構成は違います(保存版には TL;DR の節が無く、別の導入の段落があります)が、この記事で引く「How it can be mitigated」の4行と Timeline の5行は同じ文言でした。

4製品について、発見者と開発元はそれぞれ何と書いているか

発見者は4製品について「Claude Code は 2.1.179 で修正」「Codex は 0.146.0 で修正」「Copilot は Microsoft が修正を出していない」「Gemini CLI は Google が修正しない」と書いています。開発元のリポジトリでこの問題の仕組みに当たる変更を説明していたのは、openai/codex リポジトリの PR #34644(マージ済み)と、Gemini CLI のリポジトリの PR #28422(未マージ)です。Anthropic・GitHub の公式ページと Google の告知では、読んだ範囲で該当する記載を見つけられませんでした。

表の並びは、発見者の記事の「How it can be mitigated」の並び順のままです。「発見者の記載」の列はいずれも Air Security が書いた文で、開発元が書いた文ではありません。

製品発見者の記載(Air Security)開発元の記載所在
Claude CodeAnthropic patched it after our disclosure, in 2.1.179.(Anthropic は報告後、2.1.179 で修正した)CHANGELOG の ## 2.1.179 の節は9項目で、プラグインについての項目は Improved plugin loading performance in remote sessions(リモートセッションでのプラグイン読み込みの性能改善)の1つでした。SHA・コミット・チェックアウトの確認に触れた項目は、この節には見つけられませんでした。GitHub の v2.1.179 のリリース本文も同じ9項目です。CHANGELOG 全体(取得時点の最新は 2.1.283)を sha・pinned・checkout・verif で検索した範囲でも、チェックアウト後のコミットを確かめる旨の項目は見つけられませんでしたCHANGELOG(2026-09-28 01:30 JST 取得)、v2.1.179 のリリース
CodexOpenAI patched it after our disclosure, in 0.146.0.(OpenAI は報告後、0.146.0 で修正した)0.146.0 のリリース本文の PR 一覧(221件)に #34644 Verify Git plugin SHA checkouts(Git のプラグインの SHA チェックアウトを検証する)があります。リリース本文の冒頭の要約(New Features・Bug Fixes など)には、この項目は入っていません。PR #34644 の本文は後の節「開発元のリポジトリの PR には、仕組みについて何と書かれているか」で引きます0.146.0 のリリース、PR #34644
GitHub Copilotwe disclosed the same flaw to Microsoft, which has not shipped a fix, so users have no patch.(Microsoft に同じ欠陥を報告したが、Microsoft は修正を出しておらず、利用者向けのパッチは無い)Copilot CLI の changelog を 1.0.57(2026-06-01)から 1.0.88(2026-09-22)まで sha・pin・checkout・verif で検索した範囲では、SHA 固定のチェックアウトを確かめる変更の項目は見つけられませんでした。SHA で固定する機能そのものは 1.0.70(2026-07-09)で Pin plugins to an exact commit SHA using the `sha` field in plugin source configuration として追加されていますCopilot CLI の changelog
Gemini CLIGoogle has deprecated the Gemini CLI and will not patch it, so every install stays vulnerable for good(Google は Gemini CLI を非推奨とし、修正しない。そのため導入済みのものは今後も脆弱なままになる)Google の告知(表示日付 MAY 19, 2026)は Plugin4Shell に触れていません。告知と Discussion #27274 の本文に deprecat を含む語は見つけられませんでした。告知は個人向けの有料プランと無償利用について On June 18, 2026, Gemini CLI and Gemini Code Assist IDE extensions will stop serving requests と書き、企業向けについては your access remains unchanged. We’ll continue to support Gemini CLI と書いています。Gemini CLI のリポジトリには PR #28422 fix(cli): resolve reference ambiguity during extension checkout(2026-07-16 作成、2026-09-28 時点で未マージ、GitHub API の author_association は CONTRIBUTOR)があります。PR の本文に Plugin4Shell・Air Security への言及は見つけられませんでした。内容は同じ後の節で引きますGoogle Developers Blog の告知、Discussion #27274、PR #28422

自分の端末で確かめられることは、公式にどう書かれているか

版の確かめ方は、Claude Code では `claude --version` と `claude doctor`、Copilot CLI では `copilot version` と `/version` が開発元のページに書かれています。Codex と Gemini CLI については、今回読んだページで版の確かめ方の記載を見つけられませんでした。修正版として開発元が版番号を挙げた記載は、4製品とも見つけられませんでした。

製品版の確かめ方(逐語)修正版として開発元が書いた版所在
Claude Coderun claude --version . A working installation prints a version number.。詳しくは claude doctor prints read-only installation and settings diagnostics見つけられなかった(発見者の記載は 2.1.179)セットアップ
Codex読んだページでは見つけられなかった開発元が「この問題の修正版」と書いた記載は見つけられなかった。PR #34644 は 0.146.0 のリリースの PR 一覧に載っている(発見者の記載も 0.146.0)0.146.0 のリリース
GitHub Copilot CLIchangelog 0.0.396(2026-01-27)の Add `copilot version` and `copilot update` commands、1.0.5(2026-03-13)の Add /version command to display CLI version and check for updates from within the session見つけられなかった(発見者の記載は「修正を出していない」)Copilot CLI の changelog
Gemini CLI今回読んだページでは確かめていない見つけられなかった(発見者の記載は「修正しない」)。リポジトリの PR #28422 は未マージで、版は決まっていないPR #28422

Codex の版番号は、リリースの表示名が 0.146.0、リポジトリのタグ名が rust-v0.146.0 です。ChatGPT & Codex changelog のページは、取得したテキストでは Codex CLI の版の項目が 0.154.0 から 0.157.1 までで、0.146.0 の項目は見つけられませんでした。0.146.0 の内容は GitHub のリリースから読んでいます。

どの版を使っているか、どのマーケットプレイスからプラグインを入れているか、自動更新がどう設定されているかは、読者の端末の側にあり、この記事の材料からは分かりません。

プラグインの自動更新は、既定でどう設定されていると書かれているか

発見者は `in Claude Code and Codex this is the default`(Claude Code と Codex では自動更新が既定)と書いています。Anthropic のドキュメントは、既定オンを Anthropic の公式マーケットプレイス(`knowledge-work-plugins` と `first-party-plugins` を除く)と claude.ai から追加したマーケットプレイスに限り、それ以外は既定オフと書いています。GitHub のドキュメントも、組み込みのマーケットプレイスは自動更新、自分で追加したものは設定で有効にする形です。Codex については、ワークスペースの管理者が GitHub からマーケットプレイスを取り込むページに `New marketplaces have automatic daily sync enabled.` とあり、同期は既存のプラグインを更新しうると書かれています。手元の CLI でのプラグインの自動更新の既定値は、読んだ3ページでは見つけられませんでした。

製品既定値の記載(逐語)切る方法として書かれていること(逐語)所在
Claude Code(プラグイン)The default: on for Anthropic’s official marketplaces such as `claude-plugins-official`, off for `knowledge-work-plugins` and `first-party-plugins`, on for marketplaces added from claude.ai, and off for every other marketplace。導入のページは既定オフの側を every other marketplace, including the community marketplace, third-party marketplaces, and local development marketplaces と書いていますrun `/plugin` and go to the Marketplaces tab. Select the marketplace, then select Enable auto-update or Disable auto-update。また If you set `DISABLE_UPDATES=1`, `DISABLE_AUTOUPDATER=1`, or `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1`, the whole pass is off ... unless you also set `FORCE_AUTOUPDATE_PLUGINS=1`読み込みの仕組み、プラグインの導入
Claude Code(本体)Native installations automatically update in the background.。Homebrew, WinGet, apt, dnf, and apk installations do not auto-update by defaultSet DISABLE_AUTOUPDATER to "1" in the env key of your settings.json fileセットアップ
Codex(プラグイン、ワークスペースへの取り込み)プラグイン管理のページは、対象を Workspace admins can import a plugin marketplace from GitHub and keep its plugins up to date from the repository. と書き、New marketplaces have automatic daily sync enabled.、New marketplaces check for updates daily.、Sync can add new marketplace entries and update existing plugins. と書いています。同じページは This page covers workspace import and sync. とし、手元のクライアントでのマーケットプレイスの設定は別のページ(Configure plugin marketplaces and defaults)に分けています。その別のページは今回の検証では読んでいません同期を止める方法の記載は、このページでは見つけられませんでした。待たずに同期する方法として select the marketplace, and choose Sync now が書かれていますプラグイン管理
Codex(プラグイン、手元の CLI)Plugins・設定リファレンスの2ページを auto-update・autoupdate・daily で検索した範囲では、既定値の記載を見つけられませんでした。設定リファレンスの plugins.<plugin>.enabled の説明に Marketplace refresh can install or refresh configured plugins even when disabled. という文があります読んだ範囲では見つけられませんでしたPlugins、設定リファレンス
Codex(本体)設定リファレンスに check_for_update_on_startup(Check for Codex updates on startup (set to false only when updates are centrally managed).)同左設定リファレンス
GitHub Copilot CLI(プラグイン)First-party plugins—those installed from the built-in `copilot-plugins` and `awesome-copilot` marketplaces—automatically update at the start of each session in a trusted working directory.。自分で追加したマーケットプレイスは can opt into the same session-start auto-update by setting `autoUpdate: true`Disable this behavior with the `autoUpdate` setting (set to `false`) or the `COPILOT_AUTO_UPDATE=false` environment variable.Copilot CLI のプラグインの仕様
Gemini CLI(拡張機能)今回読んだ Google のページ(告知・Discussion・アドバイザリ・リリース一覧)に、拡張機能の自動更新の記載は見つけられませんでした。拡張機能のドキュメントは今回の検証では読んでいません――

Anthropic のマーケットプレイスの置き場所のページは、自分のマーケットプレイスについて Background auto-update is off for your marketplace by default, and `marketplace.json` has no field to turn it on.(自分のマーケットプレイスでは、バックグラウンドの自動更新は既定でオフで、marketplace.json にそれを有効にする項目は無い)と書き、有効にするのは利用者か管理者だとしています。

開発元のリポジトリの PR には、仕組みについて何と書かれているか

openai/codex リポジトリの PR #34644(マージ済み)と Gemini CLI のリポジトリの PR #28422(2026-09-28 時点で未マージ)は、どちらも、チェックアウトで指定した SHA や `FETCH_HEAD` と同じ名前の枝があると、取り出されるのが意図したコミットにならない現象を理由に挙げ、チェックアウト後のコミットを確かめる変更を書いています。どちらの本文にも、Plugin4Shell・Air Security への言及は見つけられませんでした。

openai/codex リポジトリの PR #34644 には何と書かれているか

PR #34644 の本文は、発見者の記事が説明する仕組みと同じ現象を、変更の理由として書いています。ただし PR の本文に、Plugin4Shell・Air Security・外部からの報告への言及は見つけられませんでした。

GitHub API で取得した PR #34644 の値は、PR を作成したアカウント(user.login)と、マージしたアカウント(merged_by.login)がどちらも copyberry[bot](user.type は Bot)、author_association が NONE です。PR の本文を誰が書いたかは、PR の記載からは分かりません。本文の「Why」と「What changed」は次のとおりです。

PR のマージ日時は 2026-07-22 01:22:31 UTC(GitHub API の merged_at)です。

Gemini CLI のリポジトリの PR #28422 には何と書かれているか

PR #28422 は、既定の枝の名前が `FETCH_HEAD` のリポジトリで、拡張機能のチェックアウトが取得したコミットではなく手元の枝に留まる現象を書き、チェックアウト後のコミットを確かめる変更を提案しています。2026-09-28 時点で未マージで、本文に Plugin4Shell・Air Security への言及は見つけられませんでした。

GitHub API で取得した PR #28422(2026-09-28 02:09 JST 取得)の値は、state が open、merged が false、created_at が 2026-07-16T18:57:04Z、updated_at が 2026-09-21T22:52:49Z、author_association が CONTRIBUTOR です。本文の「Related Issues」の欄は None. です。PR を出したのが Google の担当者かどうかは、PR の記載からは分かりません。本文の「Details」は次のとおりです。

この PR は未マージのため、どの版に入るかは PR からは決まりません。読んだリリース一覧の最新30件の本文にも、28422 と reference ambiguity は見つけられませんでした。

発見と通知、修正の時期は、どこにどう書かれているか

発見者の Timeline は5行で、発見(May 2026)と4社への通知(June 2026)は月単位、ベンダー側の出来事3件は日単位で書かれています。Codex の行の日付 2026-08-12 は、PR のマージ日(2026-07-22)とも 0.146.0 のリリース公開日(2026-07-29)とも同じではありません。

発見者の Timeline の行(逐語)開発元側の記録所在
May 2026 Found by the Air Security research lab, with a working PoC against all four agents発見者側の出来事で、開発元側の記録は探していない発見者の記事
June 2026 Disclosed to all four vendors under coordinated disclosure対応する開発元側の記録は、読んだ範囲では見つけられなかった発見者の記事
2026-06-17 Anthropic confirms the fix in Claude Code 2.1.179npm の公開記録で 2.1.179 は 2026-06-16T17:51:27.805Z(日本時間 6月17日 2:51)。GitHub の v2.1.179 のリリースは 2026-06-16T20:22:14Z 公開(日本時間 6月17日 5:22)npm の公開記録、v2.1.179 のリリース
2026-08-04 Google confirms no fix will ship, as the Gemini CLI is deprecated. Users are advised to migrate to AntigravityGoogle の公式ページで、この日付の回答に当たる記載は見つけられなかった。移行の告知の表示日付は MAY 19, 2026。リポジトリの PR #28422 は 2026-07-16 作成、2026-09-28 時点で未マージで、本文に Plugin4Shell への言及は見つけられなかったGoogle Developers Blog の告知、PR #28422
2026-08-12 Codex 0.146.0 verified fixedPR #34644 のマージは 2026-07-22T01:22:31Z。0.146.0(タグ名 rust-v0.146.0)のリリース公開は 2026-07-29T01:42:51ZPR #34644、0.146.0 のリリース

Codex の行の語は verified fixed(修正を確認した)で、確認したのが誰かは行の中に書かれていません。発見者の記事の Timeline は Air Security が書いた表なので、この日付は発見者側の記録として読めます。リリースの公開と修正の確認は別の出来事になりえますが、2026-08-12 に何があったかは発見者の記事からは分かりません。Timeline の日付がどの時間帯の日付かも、記事には書かれていません。

「SHAで固定したのに別のコードが入る」とは、どういう仕組みだと書かれているか

発見者の説明では、エージェントはマーケットプレイスが固定したコミットをチェックアウトするものの、実際にそのコミットになったかを確かめていないため、固定した40桁の値と同じ名前の枝がリポジトリの既定の枝になっていると、git がコミットではなくその枝を取り出します。openai/codex リポジトリの PR #34644 の「Why」も、同じ現象を理由として書いています。

発見者の記事の説明は次のとおりです。

発見者は、成り立つ条件を2つ書いています。

  1. 枝をハッシュのような名前にできること。発見者は GitHub rejects a 40-hex branch name outright - while others, Bitbucket among them, and any self-hosted git server, allow it(GitHub は40桁の16進数の枝名を拒否するが、Bitbucket や自前の git サーバーは許す)と書いています。GitHub 側の記載は、今回の検証では確かめていません
  2. その枝がリポジトリの既定の枝であること。発見者は the branch must be the repository's default - a non-default branch is fetched only as a remote-tracking ref, and the checkout would fall back to the commit と書いています

Gemini CLI については、発見者は別の経路(取得したコミットを指す FETCH_HEAD と同じ名前の枝)を書いています。Gemini CLI の拡張機能のインストールで --ref を使うという発見者の記載は、Google のドキュメントでは今回確かめていません。Gemini CLI のリポジトリの PR #28422 は、既定の枝の名前が FETCH_HEAD の場合にチェックアウトが手元の枝に留まる現象を書いています(未マージ)。

発見者は Anthropic's own documentation lists Bitbucket and self-hosted git as valid marketplace backends と書いています。Anthropic のマーケットプレイスの置き場所のページが挙げているのは GitLab, Bitbucket, GitHub Enterprise Server, or another git host です。Anthropic のマーケットプレイスの仕様のページは When you set both `ref` and `sha`, Claude Code checks out `sha`. と書いています。

GitHub Docs は Copilot CLI の sha について、Pin to a `sha` for reproducible installs that are immune to force-pushes or tag/branch moves.(強制プッシュやタグ・枝の移動に左右されない、再現可能なインストールのために sha で固定する)と書いています。

記載を見つけられなかったのは、どの項目か

開発元の公式ページとリポジトリで見つけられなかったのは、Anthropic・GitHub と Microsoft・Google の本件についての記載と、4製品のアドバイザリです。CVE は、NVD の検索 API で `Plugin4Shell` の1語を検索した範囲では見つけられませんでした(ほかの語では検索していません)。探した範囲は次のとおりです。

項目探した範囲結果
Anthropic が 2.1.179 で修正したとする記載CHANGELOG 全体、v2.1.179 のリリース本文、Security Advisories 31件(GitHub API で取得、2025-06-23〜2026-09-25 公開)、Issues と PR の検索(Plugin4Shell 0件、plugin sha checkout 45件。2026-09-28 02:10 JST 取得)見つけられなかった
OpenAI が PR #34644 を Plugin4Shell への対応と書いた記載PR #34644 の本文、0.146.0 のリリース本文、Security Advisories 1件、Issues と PR の検索(Plugin4Shell 0件。2026-09-28 02:10 JST 取得)見つけられなかった
Microsoft・GitHub の本件についての回答Copilot CLI の changelog、Security Advisories 2件、GitHub Advisory Database の copilot 検索(1ページ目)、GitHub Changelog と GitHub Blog の Security の一覧(各1ページ目)、Security Update Guide の2026年7〜9月の月次データでタイトルに Copilot を含む(大文字小文字を区別しない)21件の説明文(plugin・marketplace・sha・pinn で検索)、Issues と PR の検索(Plugin4Shell 0件、plugin sha 8件。2026-09-28 02:10 JST 取得)見つけられなかった
Google が修正しないと書いた記載移行の告知、Discussion #27274、Security Advisories(0件)、リリース一覧の最新30件(2026-09-04〜09-26)の本文、Issues と PR の検索(Plugin4Shell 0件、FETCH_HEAD 10件。2026-09-28 02:10 JST 取得)。FETCH_HEAD の10件には PR #28422 があるが、その本文に修正しない旨の記載も Plugin4Shell への言及も見つけられなかった見つけられなかった
CVENVD の検索 API で Plugin4Shell の1語を検索(該当0件)。ほかの語では検索していない見つけられなかった

Microsoft の Security Update Guide のページは、2026-09-28 の直接の取得と Internet Archive の保存版(2026-01-01 00:51 UTC 保存)のどちらでも、返ってきた HTML がページのタイトルと You need to enable JavaScript to run this app. の表示だけで、更新の一覧を含んでいませんでした(このページは28件に数えていません)。そのため、Microsoft Security Response Center の API が出している月次データ(CVRF)の2026年7月・8月・9月分を読みました。それより前の月は読んでいません。

Gemini CLI のリリースは、読んだ最新30件の範囲で、プレビュー版・ナイトリー版(GitHub API の prerelease が true の版)を除くと 2026-09-23(UTC)公開の v0.61.0 が最新です。同じ30件には、版番号は大きいものの v0.61.0 より前(2026-09-23T23:47:50Z)に公開された v0.62.0-preview.0 と、v0.61.0 より後に公開されたナイトリー版(2026-09-26 まで)も含まれます。この30件の本文を FETCH_HEAD・sha・--ref・pin で検索した範囲では、本件に当たる項目は見つけられませんでした。

この記載から何が言えて、何が言えないか

言えるのは、4製品の状態についての記載のうち、開発元のリポジトリと公式ページで裏付けが取れたのは Codex の変更の中身(openai/codex リポジトリの PR #34644 の説明と、それが 0.146.0 のリリースの PR 一覧にあること)で、Claude Code 2.1.179 の修正、Microsoft の未修正、Google の「修正しない」は発見者の記事にある記載だということです。Gemini CLI のリポジトリには同じ仕組みを扱う PR #28422 がありますが、2026-09-28 時点で未マージです。言えないのは、読者の端末が該当するかどうかと、Claude Code 2.1.179 で直ったかどうかです。

この記事の材料から言えることは、次の7つです。

  1. Claude Code 2.1.179 で修正されたという記載は、発見者の記事にあります。Anthropic の CHANGELOG の 2.1.179 の節(9項目)と、同じ版の GitHub のリリース本文には、SHA 固定のチェックアウトを確かめる項目を見つけられませんでした
  2. openai/codex リポジトリの PR #34644 は、発見者の説明と同じ現象を理由に挙げています。ただし PR の本文は Plugin4Shell にも報告者にも触れていないため、OpenAI がこの PR を本件への対応と位置づけているかどうかは、PR からは分かりません
  3. 発見者の Timeline の Codex の日付(2026-08-12)は、PR のマージ(2026-07-22)ともリリースの公開(2026-07-29)とも違います。行の語は verified fixed です
  4. Claude Code のプラグインの自動更新は、Anthropic のドキュメントでは入手元のマーケットプレイスによって既定値が分かれています。公式マーケットプレイスと claude.ai から追加したものは既定オン、コミュニティ・第三者・ローカルのものは既定オフです。発見者の「Claude Code では既定」は、この区別を書いていません。Codex については、ワークスペースの管理者が GitHub から取り込むマーケットプレイスは automatic daily sync enabled と書かれていますが、手元の CLI でのプラグインの自動更新の既定値は、読んだ Plugins・設定リファレンスの2ページでは見つけられませんでした。発見者の「Codex では既定」が、どちらを指すかは発見者の記事からは決まりません
  5. Microsoft について発見者が書いているのは has not shipped a fix(修正を出していない)です。「修正しない」とは書かれていません。Google について「修正しない」(will not patch it)と書いているのは発見者で、Google の公式ページでは、読んだ範囲で同じ趣旨の記載を見つけられませんでした。いっぽう Gemini CLI のリポジトリには、FETCH_HEAD と同じ名前の既定の枝による取り違えを扱い、チェックアウト後のコミットを確かめる PR #28422 があります。2026-09-28 時点で未マージ、author_association は CONTRIBUTOR、本文に Plugin4Shell への言及は見つけられませんでした。この PR から、Google が修正する・しないのどちらも決まりません
  6. Google の告知は deprecated(非推奨)という語を使っていません。告知が書いているのは、2026年6月18日に個人向けの有料プランと無償利用で要求の受け付けを止めることと、企業向けは your access remains unchanged であることです
  7. CVE は、NVD の検索 API で Plugin4Shell の1語を検索した範囲では見つけられませんでした。ほかの語や仕組みの説明での検索はしていないため、本件に当たる CVE が無いかどうかは、この検索からは決まりません

この記事の材料から言えないことは、次の5つです。

  1. 読者の端末が該当するかどうか。使っている版、プラグインの入手元のマーケットプレイス、その置き場所のホスト、自動更新の設定は、読者の端末の側にあります
  2. Claude Code 2.1.179 で修正されたかどうか。この記事が読んだのは CHANGELOG とリリースの記載で、2.1.179 のプログラムそのものではありません。記載が見つからないことから、修正された・されていないのどちらも決まりません
  3. Copilot と Gemini CLI の現在の状態。発見者の記事の日付(2026-09-17)より後の対応は、開発元のページに記載が出ていない範囲では分かりません
  4. 実際に悪用されたかどうか、影響の規模。規模について、発見者は記事のタイトルで millions of agents affected、本文で leaving millions of agents vulnerable と書いていますが、その数え方は記事に書かれていません。悪用について、発見者は We demonstrated the takeover step in the wild in SkillJacking and RepoJacking. と書いており、in the wild で実演したと書いているのはリポジトリの乗っ取りの段階で、その場として挙げているのは SkillJacking と RepoJacking です。Plugin4Shell が実際に悪用されたかどうかを確かめられる記録は、発見者の記事にも、読んだ開発元のページにも見当たりませんでした
  5. Antigravity に移れば該当しないかどうか。発見者は this attack does not reach と書いていますが、Google のページでそれを確かめる記載は、読んだ範囲では見つけられませんでした

この記事はどう更新するか

この記事は毎月、4製品の CHANGELOG・リリース・Security Advisories と、発見者の記事の保存版の一覧を取り直し、開発元の記載が増えていれば表に書き足して最終確認日を更新します。

見直すのは、4リポジトリの Security Advisories に本件が足されていないか、Copilot CLI の changelog に SHA 固定のチェックアウトの確認が足されていないか、発見者の記事が書き換えられていないか、自動更新の既定値の記載が変わっていないか、の4点です。記載が後から増えて表の値が古くなった場合は、更新として扱います。

記載に誤りがある場合、また確認してほしい項目がある場合はお問い合わせからご連絡ください。

この記事は何を出典にしているか

  1. Air Security|Plugin4Shell(発見者の記事。2026-09-28 01:31 JST 取得、HTTP 200。日付表示 September 17, 2026。仕組み、How it can be mitigated、Timeline)
  2. Internet Archive|Air Security Plugin4Shell(2026-09-17 20:15:30 UTC 保存)(2026-09-28 01:48 JST 取得、HTTP 200。公開日の版との文言の比較)
  3. Internet Archive|Air Security Plugin4Shell の保存版の一覧(CDX)(2026-09-28 01:25 JST 取得、HTTP 200。保存版9件と digest)
  4. Anthropic|Claude Code CHANGELOG(2026-09-28 01:30 JST 取得。中身は raw.githubusercontent.com から取得。2.1.179 の節と全体の検索)
  5. Anthropic|Claude Code v2.1.179 のリリース(2026-09-28 01:31 JST、GitHub API で取得。本文と published_at)
  6. Anthropic|Claude Code Security Advisories(2026-09-28 01:44 JST、GitHub API で31件を取得)
  7. Claude Code Docs|プラグインの導入(Keep plugins updated)(2026-09-28 01:43 JST 取得、HTTP 200。自動更新の既定値、切り方、置き場所の指定)
  8. Claude Code Docs|プラグインの読み込み(When auto-update runs)(2026-09-28 01:44 JST 取得、HTTP 200。既定値の決まり方と環境変数)
  9. Claude Code Docs|マーケットプレイスの置き場所(2026-09-28 01:43 JST 取得、HTTP 200。置き場所のホスト、自分のマーケットプレイスの自動更新の既定値)
  10. Claude Code Docs|マーケットプレイスの仕様(2026-09-28 01:43 JST 取得、HTTP 200。ref と sha)
  11. Claude Code Docs|Advanced setup(2026-09-28 01:31 JST 取得、HTTP 200。版の確かめ方、本体の自動更新)
  12. npm|@anthropic-ai/claude-code の公開記録(2026-09-28 01:30 JST 取得、HTTP 200。2.1.179 の公開日時)
  13. OpenAI|Codex 0.146.0 のリリース(2026-09-28 01:31 JST、GitHub API で取得。本文、PR 一覧、published_at)
  14. openai/codex|PR #34644 Verify Git plugin SHA checkouts(2026-09-28 01:31 JST、GitHub API で取得。本文、merged_at、user、merged_by、author_association)
  15. OpenAI|ChatGPT & Codex changelog(2026-09-28 01:31 JST 取得、HTTP 200。developers.openai.com/codex/changelog から転送)
  16. OpenAI|Codex Plugins(2026-09-28 01:45 JST 取得、HTTP 200)
  17. OpenAI|Codex 設定リファレンス(2026-09-28 01:45 JST 取得、HTTP 200)
  18. OpenAI|Codex プラグイン管理(2026-09-28 01:45 JST 取得、HTTP 200)
  19. OpenAI|Codex Security Advisories(2026-09-28 01:44 JST、GitHub API で1件を取得)
  20. GitHub|Copilot CLI changelog(2026-09-28 01:31 JST 取得。中身は raw.githubusercontent.com から取得。最新は 1.0.88 - 2026-09-22)
  21. GitHub Docs|GitHub Copilot CLI plugin reference(2026-09-28 01:46 JST 取得、HTTP 200。自動更新、sha)
  22. GitHub Docs|Finding and installing plugins for GitHub Copilot CLI(2026-09-28 01:46 JST 取得、HTTP 200)
  23. GitHub|Copilot CLI Security Advisories(2026-09-28 01:44 JST、GitHub API で2件を取得)
  24. GitHub Advisory Database|copilot の検索結果(2026-09-28 01:31 JST 取得、HTTP 200。1ページ目)
  25. GitHub Changelog(2026-09-28 01:31 JST 取得、HTTP 200。1ページ目)
  26. GitHub Blog|Security(2026-09-28 01:31 JST 取得、HTTP 200。1ページ目)
  27. Microsoft Security Response Center|Security Update Guide(2026-09-28 取得、HTTP 200。返った HTML はタイトルと JavaScript を求める表示のみ)
  28. Internet Archive|Security Update Guide(2026-01-01 00:51:48 UTC 保存)(2026-09-28 取得、HTTP 200。返った HTML はタイトルと JavaScript を求める表示のみ)
  29. Microsoft Security Response Center|2026年7月の CVRF(2026-09-28 取得、HTTP 200)
  30. Microsoft Security Response Center|2026年8月の CVRF(2026-09-28 取得、HTTP 200)
  31. Microsoft Security Response Center|2026年9月の CVRF(2026-09-28 取得、HTTP 200)
  32. Google Developers Blog|An important update: Transitioning Gemini CLI to Antigravity CLI(2026-09-28 01:31 JST 取得、HTTP 200。表示日付 MAY 19, 2026)
  33. Google|Gemini CLI Discussion #27274(2026-09-28 01:31 JST 取得、HTTP 200)
  34. Google|Gemini CLI Security Advisories(2026-09-28 01:44 JST、GitHub API で取得。0件)
  35. Google|Gemini CLI のリリース一覧(2026-09-28 01:31 JST、GitHub API で最新30件を取得)
  36. Gemini CLI PR #28422 fix(cli): resolve reference ambiguity during extension checkout(2026-09-28 02:09 JST、GitHub API で取得。本文、state、merged、created_at、updated_at、author_association)
  37. GitHub 検索 API|Claude Code の Issues と PR、Plugin4Shell(2026-09-28 02:10 JST 取得。0件)
  38. GitHub 検索 API|Claude Code の Issues と PR、plugin sha checkout(2026-09-28 02:10 JST 取得。45件)
  39. GitHub 検索 API|Codex の Issues と PR、Plugin4Shell(2026-09-28 02:10 JST 取得。0件)
  40. GitHub 検索 API|Copilot CLI の Issues と PR、Plugin4Shell(2026-09-28 02:10 JST 取得。0件)
  41. GitHub 検索 API|Copilot CLI の Issues と PR、plugin sha(2026-09-28 02:10 JST 取得。8件)
  42. GitHub 検索 API|Gemini CLI の Issues と PR、Plugin4Shell(2026-09-28 02:10 JST 取得。0件)
  43. GitHub 検索 API|Gemini CLI の Issues と PR、FETCH_HEAD(2026-09-28 02:10 JST 取得。10件)
  44. NVD|CVE API の Plugin4Shell 検索(2026-09-28 01:31 JST 取得、HTTP 200。該当0件)
Copyright © NISHIMURA Co., Ltd. All Rights Reserved.