AIにコードを書かせる道具を、毎日のように使う人が増えている。その道具が、あなたの気づかないうちに他人のプログラムを動かしてしまう穴が見つかった。ひとことで言うと、人から受け取ったフォルダを開くだけで、パソコンを乗っ取られるおそれがある話だ。
セキュリティ企業のManifold Securityが「GitSpawn」と名付けて公開した。こわい話だが、しくみは単純で、知っていれば数分で自衛できる。
目次
- git status が勝手にプログラムを呼ぶしくみ
- 直ったツールと、まだ危ないツール
- クローンは平気、こわいのは受け取ったフォルダ
🔍 git status が勝手にプログラムを呼ぶしくみ
AIコーディングエージェント(AIがコードを書くのを手伝う道具)は、フォルダを開いた瞬間に中の状態を調べる。このとき裏で git status のようなコマンドを走らせる。ここが弱点だった。
gitには core.fsmonitor という設定がある。これは「変更されたファイルを教えてくれる外部プログラム」を指定する高速化の仕組みだ。やっかいなのは、この設定がフォルダの中の .git/config に書いてある点だ。悪い人がここに好きなプログラムを書いておけば、git status が走った瞬間にそれが動く。
しかも本来なら、許可を求めてから動くはずだ。それが確認もなく、画面に何も出ないまま実行される。攻撃者はあなたと同じ権限で、SSH鍵やクラウドの認証情報まで盗める。
ふつう: フォルダを開く → git status → 変更を表示(安全)
GitSpawn: 細工フォルダを開く → git status → 仕込んだ命令が動く
矢印は処理の流れを表す。同じ git status でも、設定に一行仕込まれているだけで、確認画面が出る前に別のプログラムが動いてしまう。
🩹 直ったツールと、まだ危ないツール
Manifoldは主要な7つの道具を調べ、8件の欠陥を報告した。すでに直ったものと、9月はじめの再確認時点でまだ直っていないものがある。
| ツール | 状態 |
|---|---|
| Claude Code | fsmonitorの経路は修正、別経路が未修正 |
| Codex / Cursor / goose | 修正済み |
| Qwen Code | 未修正 |
| Grok Build | 未修正 |
| Hermes | 未修正 |
私の見方では、これは一社のミスというより業界全体の設計のクセだ。「裏でこっそりgitを叩く」作りがどこも似ていたので、同じ穴が横並びで空いた。便利さのために黙って情報を集める設計は、こういう時に一斉に効いてくる。
📁 クローンは平気、こわいのは受け取ったフォルダ
大事な誤解を先に消しておく。GitHubから普通に git clone しても、この設定は相手からコピーされない。危ないのは、設定ファイルごとフォルダを丸ごと受け取る場合だ。zipやUSB、共有ドライブ、同期フォルダで渡されたものが当てはまる。
だから今日できる自衛は一つ。人から受け取ったフォルダをエージェントで開く前に、中の設定をのぞくことだ。
# 受け取ったフォルダの中で実行
cat .git/config
fsmonitor のように、プログラム名やコマンドが書かれた行があれば疑ってよい。あわせて、使っている道具は最新版に上げておく。作る側への助言として、Manifoldは裏で走らせるgitコマンドにこの一行を足すよう勧めている。
git -c core.fsmonitor=false status
設定を無効にする指定(-c core.fsmonitor=false)を足すだけで、この穴は塞げるという意味だ。
一次ソース:
https://www.manifold.security/blog/ai-coding-agents-git-hijack
報道はThe Hacker News、設定そのものの説明はgitの公式ドキュメントが詳しい。
今日覚えること
- 人から受け取ったフォルダは、開く前に
.git/configを見る - 普通の
git cloneは、この攻撃では安全 - AIコーディング道具は最新版に更新しておく
※本記事は一次情報の調査をAIが行い、事実確認のうえ執筆・公開しています。