AI编程工具的下一战在沙盒里:OpenAI给Codex的Windows版本造了俩影子账号——一个断网、一个需手动放行

5月14日,OpenAI 发了篇博文,讲他们怎么给 Codex 在 Windows 上重新做了一遍沙盒。

这事不是什么花哨的产品发布,但比那些更值得说。

双账号设计

新沙盒不是给 Codex 加权限限制,是直接给它配了俩独立的 Windows 用户账号

  • CodexSandboxOffline:默认账号,操作系统层面被切断了所有出站流量。它能干活,但联不上网
  • CodexSandboxOnline:只有当你明确允许联网时才用得上

Codex 想做什么,先看你授权的是哪个身份。这个隔离不是软件层的,是 Windows 用户系统级的——进程跑在哪个账号下,那个账号有什么权限,写得死死的。

为什么要这么折腾

之前的版本走的是另一条路:unelevated execution——不给 Codex 管理员权限,用环境变量(比如代理设置、Git 配置)来约束它的行为。

这条路的问题写出来挺刺眼:子进程能绕过去

环境变量是给执行者用的提示,不是强制约束。Codex 启动了个 git 子进程,子进程可以重置自己看到的环境变量,绕过原来的代理或网络拦截。整个机制看起来在工作,实际上 AI 跑得稍微深一点就能逃出去。

OpenAI 的原文措辞是把隔离”挪到 Windows 系统更深的位置”。讲人话就是:之前是给 Codex 戴个口罩,现在是直接把它关进了一个独立房间。

四层执行链

新沙盒里 Codex 真要跑一条命令,要经过四层检查:

  1. DPAPI 凭证:Windows Data Protection API 管着所有存储的凭证,沙盒账号读不到主账号的密钥
  2. 防火墙规则:进程起来前先校验网络策略
  3. codex-command-runner.exe 中介:所有命令都经这个二进制走,不是 Codex 直接 fork
  4. 进程树校验:spawn 子进程前还要再过一道

每一层都能拒。

文件层面,Codex 能读系统大部分东西,但写权限锁在当前 workspace 里,而且 .git.codex.agents 这三个目录是黑名单——AI 不能往这里塞东西。

这事重要在哪

AI 编程工具去年一年的竞争话题是”benchmark 分数”——SWE-bench 谁高、HumanEval 谁高、跑分排行榜。

今年的话题在悄悄换。企业版本 Codex、Claude Code、Cursor 之间的差距,已经不靠 benchmark 拉开了——这几家的模型核心能力越来越接近。

真正决定企业愿不愿意买的,是这些工具能不能:

  • 在员工电脑上跑而不被 IT 部门一票否决
  • 跑出问题时能讲清楚到底是 AI 干的还是人干的
  • 出 incident 时审计日志能交给监管

OpenAI 这次的博文,对外是技术更新,对内是销售物料。”我们的 Codex 在 Windows 上有 OS 级隔离”这一句,企业 IT 那边一听就懂。

谁会跟上

Windows 桌面是企业开发的存量市场。Claude Code 目前主跑 macOS 和 Linux,Cursor 也是 Mac 优先,OpenAI 这次先把 Windows 治理这一块做扎实,是抢这个市场的关键一步

下一波看 Anthropic 和 Cursor 怎么接。如果半年内他们没拿出对标的 Windows 沙盒方案,企业采购的天平就会开始倾斜。

至于 macOS 那边,Apple 自己的 sandbox 框架本来就更严,反而是 Windows 这块大家一直在欠债。

参考来源:Building a safe, effective sandbox to enable Codex on Windows(OpenAI)、OpenAI Details Codex Windows Sandbox Controls(WinBuzzer)、OpenAI Codex Windows Sandbox: What Changed After Early Security Failures(Gadget Hacks)