导语
7 月 14 日到 16 日,短短三天内,GitHub Copilot CLI、Claude Code、OpenAI Codex 三款主流 AI 编程工具分别发布更新,做的事却高度一致:限制自己的 Agent 能做什么。
Copilot CLI 禁止 Agent 在规划阶段修改文件;Claude Code 修复了审批提示可以被不可见字符篡改的漏洞;Codex 改进了危险命令检测逻辑。三条更新拼在一起,信号很明确——AI 编程工具正在从"尽量放手干"转向"先确认再动手"。
对于每天用这些工具写代码的开发者,这些变化不是小更新,它改变的是你和 Agent 之间的信任边界。本文帮你拆解发生了什么,以及如何调整自己的工作习惯。
一、三款工具各自做了什么
GitHub Copilot CLI:规划阶段禁止文件修改
7 月 14 日的更新把文件修改操作从"提示词约束"升级到了"运行时硬阻断"。过去,Agent 进入规划模式后,理论上不该动文件,但约束全靠提示词维持——模型随时可能"跑偏",在开发者以为它只是在做方案时偷偷改了代码。
新版本把阻断写进了运行时策略层,同时把沙盒文件系统的管控范围扩展到了 LSP 访问路径。这意味着即使 Agent 想通过语言服务器间接修改文件,也会被拦截。
Claude Code:不可见字符篡改审批提示的漏洞被堵上
同一天,Anthropic 修复了一个更隐蔽的问题:攻击者可以通过双向控制字符、零宽字符和形近引号,让工具的输入参数在视觉上"伪装"成正常的审批信息。比如,一段看起来是"允许执行 npm install"的提示,底层实际编码的可能是"允许执行 rm -rf /"。
Claude Code 的修复方案是:在展示审批内容前过滤所有 Unicode 伪装字符,同时对 PreToolUse 钩子的"自动批准"决策加了底线——即使你开了 auto 模式,无沙盒保护的 Bash 命令也不会被自动放行。另外,后台任务的通知现在会明确标注"无人确认",防止 Agent 用伪造的审批记录绕过检查。
OpenAI Codex:危险命令检测范围扩大
7 月 16 日,Codex 0.144.5 版本更新了危险命令检测规则,覆盖了更多 rm 命令的变体形式,并在拒绝执行时给出更具体的拒绝原因。单独看是一次常规补丁,但和前两条更新放在一起,就是同一周内第三家厂商在收紧 Agent 的操作权限。
二、为什么三家同时收紧?背后的真实事件
促成这些更新的直接诱因是一起供应链攻击事件:7 月 14 日,AsyncAPI 的四个核心仓库被入侵,攻击者通过篡改发布流水线,向 npm 推送了五个恶意包。
一个能自动安装依赖的 Agent,恰好是这类攻击的理想载体——开发者让 Agent 跑 npm install,Agent 顺手装了带毒的包,整个过程可能没有人逐行审查。
更根本的原因是行业认知的转变。过去一年,AI 编程工具的核心叙事是"自主性":让 Agent 自行规划、编辑、运行、安装,减少人工干预。但实际使用中,开发者越来越发现:Agent 越自主,出错时的修复成本越高。一次未经确认的文件删除、一个被偷偷执行的 rm -rf,都可能毁掉几小时的工作成果。
三大厂商在同一周集体转向,说明行业已经意识到:自主性的天花板不是模型能力,而是安全保障。
三、开发者该如何调整工作方式
这些变化直接影响你和 Agent 的协作模式。以下是几条实用的调整建议:
1. 把"确认"当成默认模式
过去很多开发者习惯开 auto 模式让 Agent 全速跑。现在建议:只在你完全信任的范围内开自动批准。比如 lint 修复、格式化这类低风险操作可以自动;涉及文件删除、依赖安装、环境变量修改的操作,一律手动确认。
2. 审查 Agent 的执行日志
每次 Agent 运行结束后,花 30 秒扫一遍它做了什么。重点看三类操作:文件删除、包安装、Shell 命令执行。这三个类别是当前所有护栏的重点监控对象,也是最容易出问题的环节。
3. 建立项目级的安全策略文件
如果你用 Claude Code,可以在项目根目录写一份 .claude/settings.json,明确哪些命令永远不允许自动执行。Copilot 和 Codex 也有类似的配置机制。把这些策略写在文件里而不是依赖记忆,能确保每次启动 Agent 时规则都在生效。
4. 对依赖安装保持警惕
这是当前最需要人介入的环节。让 Agent 装包之前,自己先查一下包名是否在 npm 官方仓库存在、最近版本是否正常。如果 Agent 建议安装一个你从未见过的包,先手动验证再让它执行。
5. 用沙盒环境跑高风险任务
涉及大量文件操作的重构任务,优先在 Git 分支或 Docker 容器里让 Agent 执行。这样即使 Agent 做了超出预期的操作,你可以用 git reset 或重建容器快速回滚,不会影响主分支。
结语
三大 AI 编程工具在同一周集体加固护栏,不是偶然,而是行业从"追求自主"到"守住边界"的转折点。对开发者来说,这不是限制了你的效率——相反,明确的护栏让你更放心地把复杂任务交给 Agent,因为你知道它在关键节点会停下来等你确认。
学会和受限的 Agent 协作,比学会和不受限的 Agent 共存,更安全也更高效。把"确认"当作习惯,把审查当作流程,你的 AI 编程体验会从"偶尔翻车"变成"稳定交付"。