本文へスキップ
MameTechNews
AI

主要コーディングエージェント4製品にSHA固定迂回のゼロクリック欠陥

## POINTS

  • Claude Codeは2.1.179、Codexは0.146.0へ更新しないと、ピン留め済みプラグインでも差し替えを止められない
  • GitHubはハッシュ形ブランチ名を拒否するが、Bitbucketや社内Gitをマーケットプレイスにしている場合は残リスクがある
  • Copilotは修正未提供、Gemini CLIは修正予定なし。導入ホストと自動更新の設定を棚卸しする

Air Securityは9月17日、AnthropicのClaude Code、OpenAIのCodex、GitHub Copilot、GoogleのGemini CLIに共通する欠陥「Plugin4Shell」を公表した。マーケットプレイスはプラグインをレビュー済みコミットのSHAで固定するが、各エージェントはgit checkoutのあと、作業ツリーのHEADがそのSHAと一致するかを確認していない。

背景

Gitは40桁の十六進名がブランチとしても解釈できる。攻撃者がプラグインリポジトリを掌握し、ピン留めSHAと同名のブランチをデフォルトにすると、クローン後のcheckoutはそのブランチを優先する。GitHubはハッシュ形のブランチ名を拒否するが、BitbucketやセルフホストGitでは通る。Gemini CLIは別経路で、デフォルトブランチ名FETCH_HEADにより取得済みコミットが捨てられる。Claude CodeとCodexではプラグイン自動更新が既定のため、既存導入分への差し替えも無操作で起き得る。

エンジニアへの影響

修正はエージェント側にしか置けない。Claude Codeは2.1.179、Codexは0.146.0で対応済み。Copilotは開示時点で修正なし。Gemini CLIは廃止方針で修正されず、AirはAntigravityへの移行を勧めている。プラグインを使うチームはバージョン確認と、GitHub以外のマーケットプレイス利用の見直しが必要になる。