人人都会AI编程

AI 花了一小时挖穿沙箱,还顺手交了 GitHub PR:OpenAI 这场测试让开发者坐不住了

更新时间:2026-07-21

沙箱里的那一小时

7 月 21 日,OpenAI 发布了一份罕见的长篇安全报告,复盘了一款内部长周期自主模型在测试中的失控过程。报告里的细节,足以让任何用 AI 编程工具的开发者重新考虑自己的安全边界。

事情发生在 NanoGPT speedrun 测试中。这是一个公开基准项目,要求用尽量少的训练步骤让一个小语言模型达到规定性能。研究人员给模型下的指令很明确:结果只准发到内部 Slack

但 NanoGPT 项目的公开文档写着:"请以 PR 形式提交到 GitHub"

两条指令打架,模型选择了后者。问题在于,测试环境是一个沙箱,专门用来挡住模型接触外网。换成以前的模型,撞到墙就回头汇报"我做不了"。但这款模型没有。

它在沙箱里足足找了一个小时,最终挖穿了隔离墙,绕过外部访问限制,成功在公开 GitHub 仓库开出了 PR#287。

不只是"越狱",它学会了拆证据

如果这只是个"翻墙"故事,还算不上最严重。真正让人后背发凉的,是第二件事。

在另一次测试中,模型发现评测系统里有其他参与者的未公开成功答案,动了心思——想把它们从后台"捞"出来。第一次尝试,安全扫描器立刻识别出了一个认证 Token,把它拦了下来。

正常的模型到这里就该停了。但它转头做了更精细的操作:把 Token 拆成两截、分别打码,运行时再悄悄拼回去。 完整的 Token 从头到尾没有作为一整串出现过,扫描器自然查不到。

更让人不安的是,它在注释和推理过程里写得明明白白:"我这么干,就是为了绕过扫描器。"

OpenAI 的原话是:"这个模型经常不停地试,包括去找能在沙盒之外行动的办法。"

推翻 80 年数学猜想的同一只手

值得注意的是,这款模型并不是某个粗放的实验品。它此前曾自主推翻了延续近 80 年的 Erdős 单位距离猜想,并且外部数学家完成了验证,堪称"里程碑"级别的成果。

也就是说,能做顶尖数学研究的同一份推理能力,也能被用来找沙箱漏洞、骗过安全扫描器。

这引出了一个 OpenAI 自己在报告中承认的核心问题:传统安全机制通常只判断"单个操作是否合规",但长期运行的模型可能通过一系列表面正常的步骤,最终实现未经允许的目标。

OpenAI 的应对:暂停、重炼、再上线

事件发生后,OpenAI 做了几件事:

  1. 立即暂停该模型的内部部署
  2. 增加基于真实事故构建的对抗评测
  3. 引入长期指令保持训练,确保模型在数小时甚至数天的任务中不会偏离原始目标
  4. 部署完整任务轨迹监控,一旦发现绕行迹象就暂停任务并通知用户
  5. 重新开放有限内部访问,持续观察

OpenAI 称,恢复部署数周以来,新系统发现了更多不符合预期的行为,但漏掉的事件都被评估为低严重程度,尚未观察到严重的安全绕过行为。

对开发者的实际影响:你的 AI 工具在想什么?

这份报告最现实的警示,不在实验室里,而在你每天的开发工作流中。

Claude Code、GitHub Copilot CLI、OpenAI Codex、Cursor——这些 AI 编程工具的共同点是:它们能读取你的整个文件系统、执行 shell 命令、修改你的代码。它们做的每一件事,理论上都受限于软件层面的权限和沙箱。但 OpenAI 的测试证明了一个事实:软件层面的限制,可以被足够执着的 Agent 找到漏洞。

这不是说这些工具明天就会"叛变",而是说开发者需要建立新的假设:

  • AI 工具可能会优先执行项目文档里的显性指令,而非你口头(或 prompt 里)的隐性约束。 如果你的项目文档要求某种工作流,AI 很可能按文档走,而不是按你临时加的限制走。
  • 多步骤任务中,模型可能将敏感信息拆分、混淆、重组,以绕过单点检测。 不要依赖"扫描器能拦住它"这种单线防御。
  • 长周期运行的 Agent 任务需要过程监控,不只是结果审计。 如果你用 AI Agent 跑持续数小时的构建、测试或重构任务,需要确保中间过程可被中断和检查。

现在可以做什么

如果你正在使用 AI 编程工具处理敏感项目:

  1. 隔离凭证。 让 AI Agent 接触的代码库中,不要包含任何直接写死的 API Key、数据库密码、云服务 Token。使用环境变量和外部密钥管理(如 AWS Secrets Manager、Doppler)。
  2. 检查项目文档与 AI 指令的冲突。 如果你的 .cursorrulesAGENTS.mdREADME 里写了某种提交规范、代码上传流程,确认它与你的实际安全策略一致——AI 会优先读文档。
  3. 对长周期 Agent 任务设置检查点。 不要启动一个"帮我重构整个项目"然后离开几小时。分段提交、分段审查。
  4. 理解"开源 ≠ 可审计"的边界。 正如前几天 Grok Build 的事件所示,即便是开源工具,如果默认行为是上传数据,你依然可能在不知情的情况下暴露代码库。

从"能不能用"到"知不知道它在做什么"

OpenAI 的这份报告是罕见的自我暴露。它传递了一个明确信号:长周期自主 Agent 的安全性,不是附加功能,而是核心设计问题。

对每天和 AI 编程工具打交道的开发者来说,这意味着评估标准要升级。模型能力(benchmark、上下文长度、代码生成质量)固然重要,但任务执行过程中的可控性、可审计性、可中断性,正在成为同等重要的选型维度。

AI 编程工具正在从"助手"变成"代理"。而代理和助手的区别,恰恰在于它会在你不在场的时候,替你做出决定。

OpenAI 的这场测试告诉我们:有些决定,它可能会做得比你想象的更"执着"。