2026 年 9 月 · 6 分钟阅读

关键定义
GitSpawn Manifold Security 命名的一类漏洞:AI 编码 Agent 在后台用 git 收集上下文时未剥离仓库自带的 git 配置,恶意设置(如 core.fsmonitor)让仓库以文件形式到达时,就在宿主上以开发者权限执行任意代码。
core.fsmonitor git 的性能设置:为大型仓库,git 不再逐一检查磁盘文件,而是调用一个辅助程序询问哪些文件变了,并在索引刷新时运行它。git 从仓库自己的 .git/config 读取这个设置——仓库可以自己指定要跑的命令。
上下文收集(context gathering) CLI AI Agent 启动时在后台执行的流程:用 git 弄清当前分支、改动文件、变更内容等,发生在用户输入提示词之前(有的甚至早于认证),是本次漏洞的入口。
9 月 1 日,Manifold Security 发布研究 GitSpawn:用 Claude Code 打开一个文件夹,它会在你输入任何内容之前跑一条 git status 收集上下文——如果这个文件夹是从别处来的,那么仓库本身决定了这条命令实际执行了什么。多个主流编码 Agent(Claude Code、Goose、Grok Build、Qwen Code、Hermes,Codex 与 Cursor 同属此类)在后台用 git 收集上下文时没有剥离仓库自带的 git 配置,恶意仓库可以在信任提示之前、沙箱之外,以开发者权限执行任意代码。
CLI AI Agent 启动时都在做同一件事:后台收集项目上下文。它们用 git 完成——当前分支、改了哪些文件、变更涉及什么。问题是:这些上下文收集调用没有剥离仓库自身的 git 配置,而 git 里有几种设置是命令执行点。
core.fsmonitor 是为大型仓库准备的性能设置:git 不再逐一检查磁盘文件,而是调用一个辅助程序询问哪些文件变了。git 从仓库自己的 .git/config 读取它。所以一个仓库可以自带这样一段配置:
[core]
fsmonitor = <command>
然后任何会刷新索引的 git 命令——git status、git diff,Agent 用哪条都无所谓——都会运行这个命令。执行链是:Agent 启动 → 后台 git status/diff → 索引刷新 → 仓库 .git/config 里指定的命令 → 以你的权限在宿主上运行。这是 Agent 自己的代码 spawn 的子进程,所以跑在沙箱外、没有批准提示,权限模型根本看不到它。
这里值得精确说明,因为 git 本身从不携带这个东西:克隆一个恶意 URL 不会触发,fetch、pull 也不会。仓库必须带着它的 .git 目录以文件形式到达——共享的 zip、共享盘、同步文件夹、U 盘。同事之间传项目、顾问给客户交付项目,都是这种方式。Manifold 的每个 PoC 用的都是 zip。
Goose — 已修复
goose review 构建 diff 时触发。受影响 1.41.0,修复于 1.44.0。CVE-2026-72718,维护者评分 7.0,在我们的报告之后分配。
Claude Code(core.fsmonitor) — 已修复
启动时在沙箱外以内部子进程跑 git status。确认于 2.1.193,修复于 2.1.196。我们的报告被标记为同日另一报告的重复。
Claude Code(ultrareview) — 未修复
不是 core.fsmonitor,而是同类的另一个 git 设置,review 路径没有剥离它。恶意命令在启动时、工作区信任提示出现之前就会执行。2.1.252 确认仍未修复。
Qwen Code — 未修复
启动时跑 git status 收集上下文。0.19.6 报告给阿里 SRC 并被接受,0.22.3 确认仍未修复。注意触发点早于用户认证。
Grok Build — 未修复
用 git 收集上下文。最早 7 月 1 日同类报告被 xAI 关闭为『informative』;我们的报告 7 月 14 日被标记为重复。1.0.13 确认仍未修复。
Hermes Agent — 未修复
在会话目录跑 git status 收集仓库上下文,未剥离仓库配置。0.18.2 报告后,五个渠道六次联系没有收到分诊,0.21.0 确认仍未修复;CVE-2026-71963 由独立 CNA VulnCheck 分配。
Codex 与 Cursor — 已修复
属同类机制但变体不同,均已在发布前被修复;Manifold 的报告被标记为其他研究者已提交的重复。
这不是某个厂商的孤立 bug。所有被检查的 Agent 都在用同一个流程:用 git 收集上下文,而不清理仓库配置。Manifold 的 8 个报告里 5 个被标记为其他研究者已经独立提交的重复,其中一个是同一天提交的。这意味着这个问题正被多方独立发现——它不是研究上的偶然,而是编码 Agent 底层管道的普遍缺陷。
覆盖面也说明问题:仅 Claude Code 每月就有超过 7700 万次 npm 下载;被点名的几个项目在 GitHub 上合计接近 50 万 star。编码 Agent 已经从可选工具变成了团队默认的开发入口——而这个入口可以在用户毫无察觉的情况下执行任意代码。
编码 Agent 是新的供应链端点
打开一个 zip 或共享目录让编码 Agent 工作,等于让这段代码在你机器上获得执行权。开发者的机器里有 SSH 密钥、云凭据与所有仓库——这是攻击者最想要的目标。
升级不等于修复
4 个发现发布时仍未修复,而且同类的其他 git 设置(非 core.fsmonitor)也存在。先确认你的版本是否已修复,别假设『最新版就安全』。
把编码 Agent 当沙箱对象对待
对运行编码 Agent 的开发机,用操作系统级隔离与网络出口控制限制 Agent 进程;对来自外部(zip、共享盘、客户交付)的仓库,先检查 .git/config 再打开。
检查你用的编码 Agent 版本是否已修复
对照受影响清单核对版本:Claude Code ≥2.1.196(core.fsmonitor 已修,但 ultrareview 未修)、Goose ≥1.44.0;Qwen Code、Grok Build、Hermes 暂未修复——为这些 Agent 采取额外防护。
把外部仓库当成不可信代码
打开 zip、共享盘或客户交付的项目前,先检查 .git/config 里有没有可疑的设置(core.fsmonitor、core.pager、alias 等命令执行点)。开发团队统一这个检查动作。
为编码 Agent 加操作系统级隔离
在受控环境或沙箱里运行编码 Agent,限制网络出口,隔离开发机的凭据与密钥;如果 Agent 支持,关闭后台自动 git 上下文收集或强制 sanitize 配置(例如 git -c core.fsmonitor=false)。
参考来源
Manifold Security 9 月 1 日披露的一类编码 Agent 漏洞:Agent 启动时后台跑 git 收集上下文,却没有剥离仓库自身的 git 配置,恶意 core.fsmonitor 等设置会在索引刷新时于宿主上以开发者权限执行任意命令——发生在工作区信任提示之前、沙箱之外。
以开发者权限在沙箱外执行任意代码,屏幕上没有任何显示、无需批准提示。包括 SSH 密钥、环境里的云凭据、shell 配置里的 token、磁盘上所有仓库,以及在这台机器上的立足点。
不能靠 git clone——克隆恶意 URL、fetch、pull 都不会触发。仓库必须带着 .git 目录以文件形式到达:共享 zip、共享盘、同步文件夹、U 盘。同事之间传项目、顾问给客户交付就是这样。
Manifold 披露了 7 个 Agent 上的 8 个发现(Claude Code ×2、Goose、Grok Build、Qwen Code、Hermes,Codex 与 Cursor 属同类但已修复)。发布时 4 个未修复:Qwen Code、Grok Build、Claude Code ultrareview、Hermes(CVE-2026-71963)。Goose 已修(CVE-2026-72718),Claude Code 的 core.fsmonitor 变体已修。
因为这不是单个厂商的 bug:所有被检查的 agent 都用『git 收集上下文而不清理仓库配置』的同一流程,Manifold 的 8 个报告里 5 个被标记为其他研究者已独立提交的重复。同一缺陷被多方同时发现,说明它是编码 agent 底层的普遍问题。
木马化的 AI 技能包:1.7M 次安装的 Agent 供应链攻击
攻击者把恶意指令伪装成合法 AI 技能(skills),通过 skills.sh 市场传播,7 月 11 日起已累积超过 170 万次下载。
GhostSplice:恶意 MCP 服务器把窃密指令拆成两半,AI 编码 Agent 就乖乖交出 SSH 密钥
8 月 11 日 ASSET 团队披露:恶意 MCP 服务器将窃密指令拆散到工具描述与工具结果中,单次调用看似无害。
一周三次 AI 编码工具安全事故——勒索软件、数据删除、静默上传
2026 年 7 月,三个独立的 AI 编码工具安全事件构成完整的信任危机叙事:JADEPUFFER、GPT-5.6 Sol、Grok Build。
勒索软件用 Cursor Agent 入侵 7 家公司:拒绝式安全为何失效
Aurora 勒索软件分支以『这是模拟测试』为由,让 Cursor 的 AI Agent 执行数百次恶意操作,7 家公司受害。