时间验证:BleepingComputer 报道发布于 2026-07-20 17:14,晚于本次窗口截止线 2026-07-20 14:51:08;Pillar Security 官方研究页发布于 2026-07-20,同日宣布 “Week of Sandbox Escapes”。这是一条合格的 24 小时内 AI 编程工具安全新闻。
图1:Pillar Security 在 7 月 20 日发布 AI coding agent 沙箱逃逸系列研究
AI 编程工具的卖点一直很直接:Cursor、Codex CLI、Gemini CLI、Antigravity 这类 agent 可以读仓库、改代码、跑命令,但会被沙箱关在项目目录里,真要碰敏感操作再弹批准。
Pillar Security 7 月 20 日发布的研究把这个前提拆开了。研究团队 Eilon Cohen、Dan Lisichkin、Ariel Fogel 复现了 7 个边界绕过问题,覆盖 Cursor、OpenAI Codex CLI、Google Gemini CLI、Google Antigravity。BleepingComputer 同日 17:14 报道,核心结论不是“沙箱被暴力攻破”,而是更麻烦的一句:agent 可以完全遵守规则,只写项目内文件,真正的执行发生在沙箱外的 IDE、Git、Docker、Python 扩展或本地 daemon。
这对每天用 AI 编程工具的人很具体。你让 agent 修一个 issue,它读到恶意 README、恶意 diff、恶意依赖说明,然后写入看起来正常的 .vscode/tasks.json、Git hook、virtualenv 解释器、Docker 相关配置。agent 没有直接运行危险命令,批准弹窗也可能没拦住;下一次 VS Code、Git、Python 插件或 Docker Desktop 扫描项目时,宿主机自己把那段东西执行了。
1 沙箱挡住了进程,没挡住文件
Pillar 的总览图把问题画得很清楚:大家以为边界在“agent 进程能不能出工作区”,研究里反复出现的边界在“宿主工具会不会信任 agent 写下的文件”。
图2:Pillar 的示意图:沙箱控制 agent 进程,但宿主工具仍可能信任 agent 生成的文件
传统沙箱假设文件是相对静态的资产。AI coding agent 改变了这个假设。它会批量写代码、配置、脚本、测试数据、依赖清单、CI 文件,开发者又习惯让 IDE 自动解析这些文件。攻击链不需要“模型觉醒”,只需要三段普通工程动作:恶意内容诱导 agent 写文件,文件落在工作区,宿主自动化组件在沙箱外读取并执行。
BleepingComputer 摘出的几个案例足够说明问题。Cursor 里,一个 workspace 可控的 .claude hook 配置变成了未沙箱化命令执行,已登记为 CVE-2026-48124,并在 3.0.0 修复;另一个 Cursor 问题利用 Python 扩展发现 virtualenv interpreter 的过程,让 agent 可编辑的解释器被 IDE 自己运行;Git metadata 不一定在 .git 目录里,fsmonitor 也可能成为路径规则之外的执行点。
Codex CLI 的问题更适合做安全课案例:所谓 safe command allowlist 信任的是 git show 这个命令名,但真实调用未必只读。OpenAI 已在 v0.95.0 修复,并支付 high-severity bounty。还有一个 Docker socket 问题同时影响 Codex、Cursor、Gemini CLI:如果 agent 能触达宿主上高权限本地 daemon,沙箱边界就被绕到另一个进程去了。
2 “允许读写项目”本身就是高权限
很多团队评估 AI 编程工具时只问三件事:模型强不强、上下文够不够、价格贵不贵。Pillar 这次提醒了第四件事:workspace write 是权限,不是普通编辑能力。
图3:研究系列每天披露一条不同边界路径,重点不是模型输出,而是宿主信任链
开发机上最危险的东西通常不在代码本身,而在代码旁边:SSH key、云厂商 token、包发布凭据、浏览器登录态、Docker socket、Kubernetes context、npm/pypi 凭据、公司内网代理配置。AI agent 恰好运行在这些资产附近,还会处理大量不可信文本:README、issue、PR、日志、网页、依赖文档、报错输出。
这也是为什么“我只让它改当前仓库”不够。当前仓库可以包含可执行配置,宿主可以自动触发这些配置。攻击面从 prompt injection 扩展到了 endpoint automation:模型只是把恶意指令翻译成项目文件,真正越界的是你本机那些默认相信项目文件的开发工具。
Google 对 Antigravity 两个发现的处理也能看出争议。Pillar 称 Google 将 macOS Seatbelt denylist bypass 和 .vscode task-config bypass 归为有效安全问题但降低评级,理由是需要社工或用户信任带有间接 prompt injection 的仓库。站在产品侧,这个判断可以理解;站在开发者侧,克隆陌生仓库、阅读 issue、让 agent 跑初始化脚本,本来就是 AI 编程工具每天承诺要加速的工作流。
3 先做这 6 项检查,再把 agent 放进仓库
这篇新闻的价值不在恐慌,而在给 AI 编程工具建立一张实用检查表。
第一,升级版本。Cursor 相关问题已在 3.0.0 修复,Codex CLI 的 allowlist 问题已在 v0.95.0 修复。团队里如果有人还在用旧版 CLI 或 IDE 插件,先把版本钉住,再谈模型效果。
第二,把 Docker socket 当成生产凭据处理。开发机上 /var/run/docker.sock 不是普通文件,能碰它就可能间接获得宿主执行能力。跑 AI agent 的环境里,默认不要挂载 Docker socket;确实需要构建镜像,用单独的低权限 builder、远端临时环境或 CI runner。
第三,关闭不必要的 IDE 自动执行。VS Code tasks、Python interpreter discovery、Git hooks、fsmonitor、postinstall、pre-commit,都要按“会执行代码”的标准看。给陌生仓库开 agent 前,可以先禁用 workspace trust、自动任务和扩展自动发现。
第四,审批看参数,不只看命令名。git show、python、node、bash、docker 这类命令不能只按名字进入 allowlist。真正需要记录的是完整 argv、工作目录、环境变量、输入文件、输出路径,以及这次执行是否读取了 agent 刚写的文件。
第五,用一次性环境跑陌生任务。独立开发者可以用 devcontainer、临时 VM、云端 sandbox;公司团队可以把 agent 任务放进隔离 runner,结束后销毁。不要让第一次接触陌生仓库的 agent 直接运行在主力开发机上。
第六,给 agent 写入内容做 diff 级审计。重点不只是业务代码,还包括 .vscode/、.git/ 相关路径、hooks、venv、package scripts、Dockerfile、compose 文件、CI 配置、MCP server 配置。安全审计如果只看 src/,刚好漏掉这类问题。
图4:venv sandbox escape 案例提示:解释器、环境目录和自动发现流程都属于 agent 安全边界
4 这不是 Cursor 或 Codex 一家的问题
把这件事理解成某个产品翻车,会错过真正的信号。BleepingComputer 文章里提到,Cymulate 4 月已经记录过类似 “Configuration-Based Sandbox Escape” 模式,覆盖 Claude Code、Gemini CLI、Codex CLI;Pillar 这次把范围扩到四个主流工具、多个厂商、多个路径,说明问题在架构层。
AI 编程工具正在从“编辑器插件”变成“端点行为体”。它能读不可信输入,能写可执行配置,能触发本地工具,能持久改变仓库状态,还可能接 MCP、浏览器、云 API。传统 EDR、代码扫描、SAST、依赖审计并不是为这种工作流设计的;传统沙箱也常常只盯进程,不盯“由 agent 影响的文件如何被宿主信任”。
对开发者来说,结论反而朴素:继续用 AI agent,但别把“有沙箱”当成安全证明。真正该问供应商的是:agent 能写哪些路径,宿主哪些组件会读取这些路径,哪些命令默认免审批,Docker 和本地 daemon 怎么隔离,是否能追踪“某个执行动作是否受 agent 生成文件影响”。
下次你让 Cursor、Codex CLI、Gemini CLI 或 Antigravity 接管一个陌生仓库前,可以先问团队一个问题:我们的沙箱边界,是停在 agent 进程,还是覆盖到了 IDE、Git、Docker 和所有自动化工具?
如果这篇文章帮你重新理解 AI 编程工具的安全边界,点个“在看”,转给正在把 AI agent 接入研发流程的朋友。评论区也可以说说:你现在最担心的是 prompt injection、凭据泄露,还是 agent 自动改配置?
信息来源:
Pillar Security: The Week of Sandbox Escapes, 2026-07-20, https://www.pillar.security/blog/the-week-of-sandbox-escapes[1] BleepingComputer: Cursor, Codex, Gemini CLI, Antigravity hit by sandbox escapes, 2026-07-20 17:14, https://www.bleepingcomputer.com/news/security/cursor-codex-gemini-cli-antigravity-hit-by-sandbox-escapes/[2] LLM Stats / Techmeme 聚合记录:同一事件在 2026-07-21 抓取页显示为 7 小时内热闻,https://llm-stats.com/ai-news[3]
引用链接
[1]https://www.pillar.security/blog/the-week-of-sandbox-escapes
[2]https://www.bleepingcomputer.com/news/security/cursor-codex-gemini-cli-antigravity-hit-by-sandbox-escapes/
[3]https://llm-stats.com/ai-news
夜雨聆风