GitSpawnの脆弱性、Claude Code・Codex・Cursor・Grokで悪意あるリポジトリによるコード実行を許す

GitSpawnと名付けられた新たに公表された脆弱性のクラスは、罠を仕掛けたソフトウェアリポジトリがAIコーディングエージェントで開かれた瞬間に、開発者のマシン上でひそかにコードを実行できてしまうというものです。

この攻撃には、プロンプトの入力や承認クリックといったユーザー操作が一切必要ありません。場合によっては、開発者がコーディングプラットフォームに認証する前に、悪意あるコマンドが実行されてしまうこともあります。

Manifold Securityのセキュリティ研究者たちは、コマンドラインのAIコーディングエージェントがプロジェクトディレクトリ内で起動した際に自動的に何を行うかを調査する中で、この問題を発見しました。

Manifold Securityの技術的な開示情報によると、調査対象となったほぼすべてのエージェントが、ユーザーへの応答前にプロジェクトのコンテキストを収集するために、git statusgit diffといったGitコマンドをバックグラウンドで実行しています。この挙動自体はごく普通のもので通常は無害ですが、Gitの内部インデックスを更新するきっかけとなり得ます。

危険の元凶はGitのcore.fsmonitor設定にあります。この設定オプションは、リポジトリがファイルシステム監視用のヘルパープログラムを定義できるようにすることでパフォーマンスを向上させることを目的としています。Gitはインデックスを更新するたびに、このヘルパーを自動的に起動する場合があります。

しかし、Gitはcore.fsmonitorの値をリポジトリのローカルにある.git/configファイルから直接読み込みます。そのため攻撃者は、悪意あるリポジトリのGit設定に任意のコマンドを仕込むことが可能です。

AIコーディングエージェントがそのプロジェクトを開き、通常のバックグラウンドGitコマンドを実行すると、Gitは攻撃者が制御するそのヘルパーを実行してしまう可能性があります。

このコマンドはログイン中のユーザーの権限で、AIエージェントのサンドボックスの外側で実行されます。その結果、通常の権限確認プロンプトやツール承認機能、サンドボックス保護機能では、この悪意あるプロセスを阻止できない可能性があります。

また、この実行は開発者が指示を入力する前、あるいはそのリポジトリに悪意ある設定が含まれていることに気づく前に、静かに行われることもあります。

GitSpawnは、通常のgit clonegit fetchgit pull操作では拡散しません。これらの操作では、別のリポジトリのローカル.git/configファイルは転送されないためです。代わりに攻撃者は、隠しディレクトリである.gitを保持したまま、リポジトリを生のファイルとして配布する必要があります。

これにより、共有プロジェクトフォルダ、ZIPアーカイブ、同期されたクラウドディレクトリ、USBストレージ、同僚や請負業者からの直接の受け渡しなどが、潜在的な配布経路となり得ます。

開発者は、レビューやテスト、保守のためにプロジェクトを開いているだけだと思い込んでいる一方で、AIコーディングツールがバックグラウンドで悪意あるGit設定を発動させてしまう、という構図です。

Francisco Rosales氏は、Claude Code、Goose、Hermes Agent、Qwen Code、Grok BuildにわたってGitSpawn型の問題を確認したことを明らかにしました。関連する亜種は、OpenAI CodexとCursorにも影響していました。

CursorとCodexは、脆弱性の報告を受けてパッチを発行したと伝えられていますが、これらの発見は独立して報告済みの問題の重複として扱われました。

4件の脆弱性は未修正のまま残っているとされ、その中にはClaude Codeultrareviewコマンドにおける別の問題も含まれています。この脆弱性はcore.fsmonitorとは異なるGit設定キーを悪用するものです。研究者たちは、攻撃者がすぐに悪用できるテンプレートの公開を避けるため、具体的なキー名の公表を控えています。

Gooseは該当する挙動の修正版をリリース済みで、CVE-2026-72718が割り当てられました。Hermes Agentには、ベンダーが6回にわたる連絡の試みに応答しなかったとされる中、CVE-2026-71963が割り当てられています。

Claude Codeは月間7,700万件を超えるnpmダウンロード数を持つツールであるため、特に重要な意味を持ちます。Claude Codeの問題に関する詳細は、当該の脆弱性報告書で確認できます。

開発者は、コピーされたフォルダやアーカイブとして受け取ったリポジトリを開く前に、.git/configを確認するべきです。

AIコーディングツールのベンダー各社は、自動的なコンテキスト収集の過程でリポジトリ側が制御可能なGit設定を無害化するとともに、可能な限りcore.fsmonitorを明示的に無効化し、この静かなコード実行経路を塞ぐべきです。

セキュリティチームに、不審な活動をより迅速に調査し、被害が拡大する前に脅威を封じ込めるための可視性とコンテキストを与えましょう。ANY.RUNで調査を強化する

翻訳元: https://cyberpress.org/gitspawn-flaws-let-malicious-repositories-execute-code/

本記事は cyberpress.org の記事を翻訳・要約したものです。