powered by TechFeed
表示モード
主要ニュース

ZIPを展開してAIエージェントで開くだけでコードが実行される脆弱性「GitSpawn」 — Claude Code・Cursor・Codexなど合計約50万スターのツールに影響

9月3日、Cyber Security Newsが「GitSpawn Flaws Let Malicious Repositories Execute Code in Claude Code, Codex, Cursor, and Grok」と題した記事を公開した。細工されたリポジトリをAIコーディングエージェントで開くだけで、ユーザーの操作なしにコードが実行される新クラスの脆弱性「GitSpawn」について詳しく紹介されている。

9月3日、Cyber Security Newsが「GitSpawn Flaws Let Malicious Repositories Execute Code in Claude Code, Codex, Cursor, and Grok」と題した記事を公開した。細工されたリポジトリをAIコーディングエージェントで開くだけで、ユーザーの操作なしにコードが実行される新クラスの脆弱性「GitSpawn」について詳しく紹介されている。


リポジトリを開くだけで任意コードが実行される

GitSpawnと命名されたこの脆弱性クラスは、悪意を持って細工されたリポジトリをAIコーディングエージェントで開いた瞬間に発動する。ユーザーは何もコマンドを入力しない。承認ダイアログも出ない。場合によっては、ユーザーが認証を完了する前にコードが実行される。

セキュリティ研究チーム Manifold Security が発見した。詳細な技術開示レポートによると、CLIベースのコーディングエージェントが起動時に何をしているかを調査する中で、この問題を特定した。


なぜ起きるのか:gitの「正規機能」が凶器になる

多くのAIコーディングエージェントは起動時に git statusgit diff などのコマンドをバックグラウンドで自動実行し、プロジェクトのコンテキストを収集する。問題はその副作用だ。

これらのコマンドはいずれも gitの内部インデックスのリフレッシュ を引き起こす。そしてgitには core.fsmonitor という設定項目があり、インデックスがリフレッシュされるたびに「指定したヘルパープログラム」を自動実行する仕組みがある。これはgit公式が提供するパフォーマンス最適化機能であり、ファイル変更の検知を高速化するために設計された正規の設定だ。通常の開発環境では Watchman などの変更監視ツールと組み合わせて使われる。

問題は、この設定がリポジトリ自身の .git/config から読み込まれる点にある。つまり、攻撃者は .git/config に任意のコマンドを仕込んでおくだけでいい。AIエージェントがコンテキスト収集のためにgitコマンドを走らせた瞬間、そのコマンドがログインユーザーのフル権限で、サンドボックスの外側で、パーミッションシステムに一切引っかからずに実行される。「Gitが公式サポートする設定」という信頼性が、攻撃者にとっての抜け穴になっている点が本脆弱性の核心だ。


「git clone では感染しない」が、現実の配布経路は別にある

重要な点として、通常の git clonefetchpull ではこの攻撃は成立しない。これらの操作では .git/config は転送されないからだ。

では、どうやって攻撃者はリポジトリを届けるのか。研究チームが指摘する経路は以下だ。

  • ZIPアーカイブ.git ディレクトリごと圧縮したもの)
  • 共有ドライブ(Dropbox、Google Driveなど)
  • 同期ディレクトリ
  • USBメモリ

これらは、同僚やコンサルタントがプロジェクトを手渡しする際に日常的に使う方法そのものだ。「知人から受け取ったZIPを展開してCursorで開いた」という行動が、そのまま攻撃の成立条件になる。


影響を受けるツールと対応状況

ツール 状態
Claude Code 4件の未修正フラグありcore.fsmonitor 以外の別gitキーを悪用する亜種を含む)。月間npmダウンロード数7700万以上
Goose 修正済み。CVE-2026-72718 割り当て済み
Hermes Agent 6回の連絡を試みるも未応答。CVE-2026-71963 割り当て済み
Cursor / Codex 亜種として影響確認。両ベンダーともパッチ済み
Qwen Code / Grok Build 認証前のファイル侵害が可能な状態で脆弱

8件の追跡中、公開時点で4件が未修正。Claude Codeの「ultrareview」コマンドに存在する亜種は、core.fsmonitor とは異なるgit設定キーを悪用するものだが、攻撃者への悪用ヒントを避けるため、具体的なキー名は意図的に非公開とされている。

なお、影響を受けたツール群のGitHubスター数を合計すると約50万に達する(各ツールのスター数の合算値)。Claude Code単体で月間npmダウンロード7700万超という規模を考えると、エクスポージャーは相当広い。


開発者がいま取るべき行動

リポジトリをZIPなどのファイル形式で受け取った場合、AIエージェントで開く前に .git/config の内容を確認すること。core.fsmonitor に見覚えのないパスやコマンドが設定されていれば、即座に疑うべきだ。

ベンダー側への提言としては、バックグラウンドのコンテキスト収集時に core.fsmonitor を明示的に無効化するなど、git設定のサニタイズ処理を実装することが求められている。各CVEの詳細や更新情報は GitHub Advisory DatabaseNVD でも継続的に確認できる。


詳細はGitSpawn Flaws Let Malicious Repositories Execute Code in Claude Code, Codex, Cursor, and Grokを参照していただきたい。