悪意あるGit設定でAIエージェントに不正コードを実行させる脆弱性「GitSpawn」が判明、主要7製品に影響
要点
-
セキュリティ企業のManifold Securityが、主要なCLI型AIコーディングエージェント7製品において計8件の脆弱性を公表した。
-
リポジトリ内の設定ファイル(
.git/config)を悪用することで、ユーザーの承認やプロンプト送信を経ずに攻撃者のコードが実行される。 -
AIモデル自体の欠陥ではなく、エージェントがセッション開始時に状態を確認するために呼び出すGitのサブプロセス処理に起因している。
-
goose、Codex、Cursor、Claude Codeの一部経路では修正版が提供されたものの、Hermes AgentやQwen Code、Grok Buildなどでは未修正のままとなっている。
-
セキュリティ調査企業のManifold Securityは、複数のコマンドライン型AIコーディングエージェント(自然言語の指示をもとにコードの生成や編集を自律的に行うツール)において、リポジトリの設定を悪用して開発者の端末上で任意のコードを実行させられる一連の脆弱性「GitSpawn」を公表した。調査対象となった7製品で計8件の脆弱性が確認されており、情報公開時点の再テストにおいても4件が未修正のままであることが明らかになっている。
Gitの変更検知設定を悪用してサンドボックス外でコマンドを実行
今回報告された脆弱性は、Gitのパフォーマンス設定項目である core.fsmonitor(変更されたファイルを高速に特定するために外部コマンドを呼び出す設定)などを悪用するものだ。この設定はリポジトリ内のローカル設定ファイル(.git/config)に記述される。
AIエージェントはセッション開始時や作業中、現在のブランチや変更されたファイルを把握するために、バックグラウンドで git status や git diff などのGitコマンドを実行する。その際、リポジトリ内の設定ファイルに悪意のあるコマンドが指定されていると、インデックス更新処理に伴ってそのコマンドが自動的に呼び出される仕組みとなっている。
この処理はエージェントが備えるコマンドサンドボックス(安全のためにプログラムの実行権限を制限する仕組み)の外側で行われ、実行時のユーザー権限のまま動作する。そのため、攻撃者のコードが端末内のファイルを読み書き・削除したり、ユーザーのアカウント権限で外部リソースへアクセスしたりする危険性がある。
プロンプト送信や信頼確認の前にコードが動作
本脆弱性の大きな特徴は、ユーザーがAIに対して明示的な指示を出す前や、ツールの信頼確認プロンプトを承認する前にコードが実行される点にある。
Manifold Securityの検証によると、Claude CodeやHermes Agentではワークスペースの信頼確認ダイアログが承認される前にコマンドが実行され、Qwen Codeではユーザー認証を行う前、Grok Buildでは最初のキー入力を行った時点でペイロード(攻撃用のコード)が動作したという。また、gooseにおいては goose review コマンドを実行した際、モデルへの問い合わせやプロンプトの送信が行われる前に攻撃者コードが実行される状態となっていた。
Manifold Securityは調査報告の中で、「脆弱性はモデルそのものや新しい技術にあるのではなく、セッション開始時にエージェントが自身の位置を把握するために起動するサブプロセスという、基盤部分の一般的な仕組みに存在する」と説明している。
なお、通常の git clone 操作ではリモートリポジトリ側の .git/config はローカル環境へ複製されない。そのため、攻撃の成立には .git ディレクトリがそのまま保持された状態でファイルが渡される必要があり、圧縮アーカイブの展開、共有ドライブ、同期フォルダ、USBメモリ経由での受け渡しなどが主な経路として挙げられている。
影響を受ける製品と各社の対応状況
報告の中で影響が確認されたツールおよびバージョンと、各製品の対応状況は以下のとおりである。
- goose: 1.44.0未満の全バージョンが影響を受け、バージョン1.44.0で修正された。GitHubからCVE-2026-72718(CVSS 4.0基本スコア 7.0)が割り当てられている。
- Codex: OpenAIは本件に関連してCVE-2026-19592を含む3件のCVEを公開した。Codex CLI(0.102.0〜0.130.0、0.131.0で修正)、macOS向けCodex Desktop(260202.0859〜26.513.31313、26.519.22136で修正)、Windows向けCodex Desktop(26.304.38〜26.513.40821、26.519.21041で修正)でそれぞれ修正版がリリースされている。
- Cursor: 修正済み。
- Claude Code: バージョン2.1.193で確認された
core.fsmonitorを経由する問題は2.1.196で修正された。しかし、claude ultrareviewを経由する別の実行経路については、バージョン2.1.252の時点でも動作することが確認されている。 - Hermes Agent: バージョン0.18.2および0.21.0で影響が確認されており、修正対応中となっている。
- Qwen Code: バージョン0.19.6および0.22.3で影響が確認されており、修正対応中となっている。
- Grok Build: バージョン0.2.93および1.0.13で影響が確認されており、修正対応中となっている。
過去にも開発環境で確認されていた類似の挙動
セキュリティ企業のSonarによると、Git設定による信頼ダイアログの迂回は、過去にVisual Studio Code(CVE-2021-43891)やJetBrains製IDE(CVE-2022-24346)などの統合開発環境でも確認されていた問題だという。
Claude Codeにおいても、2025年11月リリースのバージョン2.0.34で信頼ダイアログ承認前に git status を実行しないよう変更して一度対策が行われていたが、2026年6月のバージョン2.1.193で同様の起動時処理が再び含まれていたことが指摘されている。