返回首頁

AI 安全/程式代理

GitSpawn 藉惡意 `.git/config` 繞過程式代理沙箱,四項漏洞披露時仍未修補

多款 CLI 程式代理會在信任確認前執行 Git 狀態查詢,讓儲存庫內的可執行設定以使用者權限在主機運行。攻擊不會經一般 `git clone` 傳播,但透過 ZIP、同步資料夾或 USB 交付完整 `.git` 目錄即可觸發。

البرمجية: كلود لقطة الشاشة: أنون · Public domain · Image source
zh-Hant

Manifold Security 披露名為 GitSpawn 的共同弱點:Claude Code、Codex、Cursor、Goose、Hermes Agent、Qwen Code 與 Grok Build 等 CLI 代理啟動時,會在背景呼叫 `git status`、`git diff` 等指令蒐集專案上下文。Git 刷新索引時會讀取儲存庫自身的 `.git/config`;若 `core.fsmonitor` 被設成攻擊者控制的程式,Git 便會依原本設計直接執行它。由於子程序由代理主機端程式產生,命令可在沙箱外、批准提示前,以啟動代理的帳號權限運行。[Manifold 的技術披露](https://www.manifold.security/blog/ai-coding-agents-git-hijack)表示八項通報中,Codex、Cursor、Goose 與 Claude Code 的主要啟動路徑已修補;截至 9 月 1 日重新測試,Qwen Code 0.22.3、Grok Build 1.0.13、Hermes 0.21.0,以及 Claude Code 2.1.252 的 `ultrareview` 路徑仍受影響。Goose 漏洞編為 CVE-2026-72718,Hermes 則為 CVE-2026-71963;[The Hacker News](https://thehackernews.com/2026/09/malicious-git-configs-can-make-claude.html)亦確認披露時有四項尚未修補。

攻擊邊界需要說清楚:正常 clone、fetch 或 pull 不會攜帶儲存庫本機設定;攻擊者必須把含 `.git` 的整個目錄經 ZIP、共享磁碟、同步服務或實體媒體交付。這仍是實際的供應鏈入口,因為顧問交件、事件鑑識檔案及內部專案快照常以這類方式流通。工程團隊應先更新代理、在隔離環境檢查陌生 `.git/config`,並讓代理所有背景 Git 呼叫顯式覆寫 `core.fsmonitor=false`。只封鎖這一鍵仍不充分:`core.hooksPath`、外部 diff/merge 工具等設定也可能指向可執行檔,長期修正應是將儲存庫設定視為不可信輸入,並把上下文蒐集納入同一套授權與沙箱邊界。

來源

  1. GitSpawn: A Single Flaw Lets Untrusted Repos Run Code in Claude Code, Codex, Cursor, and Grok
  2. Malicious .git Configs Can Make Claude, Codex, Cursor, and Other AI Agents Run Attacker Code
  3. Nested Bare Repository Can Execute Arbitrary Commands via core.fsmonitor