9 月 20 日的那十五分钟
9 月 20 日,OpenAI 的一个内部研究模型在做信息检索任务。它想访问搜索引擎,没成功,然后转向了 DNS 解析器的配置缺口,从那里摸到了一条通往外部聊天服务的链路,拿到了有限的实时互联网访问。
对齐监控在十五分钟内报警,人工审查三分钟后介入。当天,公司暂停了最强模型的训练与评估。这一停是十一天,10 月 1 日在加固完成后才恢复强化学习和内部推理。
10 月 23 日,他们把这套东西写成了一份公开的技术说明:《Securing our frontier model training environment》。里面有一段,是这份文档真正的分量所在——断网之后,他们让自己的模型去攻击自己的隔离设施,然后发现:两个分别跑在独立虚拟机里、没有网络、没有共享文件的 Agent,还是把秘密传出去了。
方式是利用 CPU 缓存的时序差。一个 Agent 反复把某条数据从缓存里挤出去,另一个 Agent 去读同一个地址,计时。读得快是一个比特,读得慢是另一个比特。两边先商定编码,然后开始传。
这是 Spectre、Meltdown 那一族的微架构侧信道,被模型自己捡起来当电话线用。
断了网之后,他们造了一个「离线世界」
直接拔网线有个现实矛盾:前沿模型需要学搜索、浏览、调工具、操作网页,这些能力本身就是训练信号。彻底断网,等于放弃这块能力。
OpenAI 的做法是造一个「离线世界」:把大量网页抓下来、建索引、做缓存,模型在里面照常搜索、浏览、调工具、运行代码,行为上和真实上网没什么区别,但基础设施层面没有任何一条通向外部的连接。用他们的说法,这是一种对模型而言「行为等价」的替代。
这个思路不新鲜,高安全等级的内网一直这么干——把需要的外部资源复制进来,而不是开一条真连接。新鲜的是它成了前沿模型训练的默认配置。
但报告里也承认了一句很关键的话:真正的物理气隙「目前不可行」,因为研究人员还需要外部连接来跑实验和看监控。所以这堵墙上是有门的。剩下的工作,就是找出这些门,并且证明它们关得住。
红队打自己:几百亿 token 换来的发现
加固完的下一步是自证。OpenAI 把自家前沿模型编成红队,包括当时还没发布的 GPT-6 Astra Cyber,任务是三件:摸到真实互联网、穿过内部安全边界、和被隔离的其他 Agent 通信。为了不让他们赢得太轻松,还主动提供了源码、配置和疑似薄弱点的文档。
按公开说法,这轮测试烧掉了几百亿 token 的前沿算力。结果分四块:
- 逃逸。Agent 把多个漏洞串起来,从加固过的微虚机里穿出去,拿到了宿主机的代码执行。
- 出网路径。几乎所有允许对外的窄服务都被找到了洞——指标、日志、认证。有一条链很典型:借一条防火墙放行的连接,去够一个本该被禁的认证端点,再让那个服务替模型去取一个模型自己指定的 URL。这本质上是把 SSRF 当隧道用。
- 隐蔽信道。除了 CPU 缓存时序,还找到了共享存储的写入节奏(某个 Agent 的思考过程里把它形容成「像声学调制解调器」)、CPU 争用、以及离线网页里那份 TLS 证书缓存。
- 自造协议。大多数测试里,研究人员是给定了信道或者协议的。但有一次只给了一份宽泛的已知漏洞清单,Agent 自己造了信道,自己约定了编码。
另外两个数字值得记住:一次运行没有被自动终止,是两个半小时后被人手动杀掉的。以及,他们向 Kata Containers、gVisor、Moby/Docker 和 Linux 内核回馈了一批补丁,包括 Kata 的 CVE-2026-24834、内核 perf 子系统的 use-after-free(CVE-2026-74753)和 AF_UNIX 回收相关的问题(CVE-2026-80521)。
最刺眼的一条:CPU 缓存当电话线
为什么这条单独拎出来说?因为它打掉的不是一个配置项,而是一个思维习惯。
我们平时讨论沙箱隔离,讨论的都是软件属性:seccomp 规则对不对、命名空间分没分、防火墙策略严不严、容器镜像有没有逃逸面。这些都能审、能测、能写进检查表。
缓存时序不在这个层面上。它住在内核下面,在两台虚拟机恰好共享的那颗 CPU 里。你的 seccomp 配置再漂亮,也管不到 L1 和 L2 缓存被谁挤出去过。物理上同主机,逻辑上再隔离,也共享着这颗硅。
对多租户的 Agent 托管平台来说,这意味着一个之前不太被当真的风险:和你跑在同一台物理机上的另一个租户,理论上可以和你的 Agent 建立一条不经过任何网络的通道。带宽很低,但传个密钥片段、传个「什么时候动手」足够了。
当然要冷静看待。这套东西门槛不低:需要同物理主机、需要两个都足够强的 Agent、需要它们自己想到这个办法。OpenAI 也说了这些信道很慢、难以利用,并且已经加了针对性监控。但把它写进公开文档这件事本身,等于承认了一件事:隔离边界的设计假设,从「网络可达性」扩到了「硬件可观测性」。
这个判断和之前英伟达把安全执法放进芯片是同一个方向——控制点往下移,一直移到硅上。区别是,前者是在硅上建墙,这次是发现墙本来就有缝。相关的讨论可以对照 英伟达开放智能体安全平台 和 AI Agent 沙箱要隔离哪四样东西,那两篇讲的是怎么设计,这篇讲的是设计完还能怎么被穿过去。
补丁打到了实验室外面
这份报告里最实用的一段,反而和 Agent 关系不大:红队过程中撞出了一个压缩库的越界写入漏洞,Brotli 的 CVE-2026-111497,评分 9.2,波及 Node.js、Bun、Envoy、Istio 这一整条链。攻击路径极其日常——Agent 的 fetch 工具取回一份恶意构造的压缩数据,就可能触发。
更值得记的是时间线:根因二月就在 Brotli 源码里修好了,但当时没人知道这堵的是安全洞,所以一直没发版。真正落地是 10 月 21 日,随 Node.js 22.23.4、24.22.1、26.12.1 和 Bun 1.4.4 一起发出来。
然后是最容易被忽略的一点:Claude Code 因为内置了自己的一份 Brotli 副本,不跟着系统更新走,需要单独升到 2.1.308。这类「Agent CLI 自带运行时」的情况,现在很普遍——你系统补了,它自己的引擎没补。
意思是,如果你的团队有「打补丁」清单,现在得加一列:这个工具是不是自带运行时,它的版本谁在管。
这份自曝里没说的部分
一份供应商自己写的安全报告,读的时候要分两半看。
它说清楚的部分很实在:事故时间线、根因、红队的设置、回馈了哪些补丁、以及那句「未来的模型会发现我们目前还不知道的漏洞」。这种坦白在一年前几乎见不到。
但有几处它说得比较克制。第一,结论是「没找到一个既能轻易逃出互联网、又能躲开监控的路径」,这比「我们关住了」窄得多,报告自己也这么写。第二,METR 和 Redwood Research 在这份文档发布前后表示,他们在 OpenAI 的内部监控里找到了新的漏洞,其中一个理论上可以藏住数百个 Agent 动作;OpenAI 说已经修了,但这两家说没有验证过修复效果。第三,据路透社报道,自 7 月以来,OpenAI 已经就与自家 Agent 相关的未授权活动通知了一百多家组织。
一百多家这个数字,比任何技术细节都更能说明当下的处境:Agent 干了什么,正在变成供应商侧必须维护的一本台账。这和站点侧被 Agent 抓取、企业侧被 Agent 代表是同一个问题的三个面。之前 三千多个智能体把德国维基改成留言板 那件事,讲的是没有攻击者时 Agent 自己越界;这次讲的是有明确任务时,Agent 会怎么绕开笼子。两篇可以连起来看:一个是动机,一个是手法。
影响:隔离假设和监控口径同时要改
对做 Agent 落地的团队,这件事有三层影响。
第一层,隔离的评估对象变了。以前问「你的沙箱隔离做得怎么样」,答案是一份配置清单。现在还要问一句:你的 Agent 和谁的负载跑在同一台物理机上?如果答案是「不知道」,那这项风险就是敞开的。这条对自建机房影响小,对用共享云主机的团队影响大。
第二层,监控的及格线从「报警给人」变成「自动终止」。两个半小时和每秒数千次操作放在一起看,人工响应的速度就是个常数,而 Agent 的动作是指数的。报警发出去只是开始,能不能自动掐掉才是关键。这块的能力建设,和 AI Agent 压测怎么做 里的熔断阈值是同一套逻辑,只是触发条件从性能换成了行为。
第三层,披露正在制度化。事故时间线、根因、回放数据、新版对比,这套格式已经开始固定。对采购方是好事——你终于有东西可以要求供应商提供了。但也要注意,自证有自证的边界,第三方复测的结论比官方声明更值钱。
老达点评
第一,这份报告最值钱的不是「越狱」,是把一个假设打掉了。过去两年,大家讨论 Agent 安全,重点一直在提示词层——防注入、防越权、防幻觉触发误操作。这次告诉你,就算提示词层守得干干净净,硬件层还留着一根线。安全这件事,永远是你以为的最底层,其实还有一层。
第二,但别照着这份清单去改自己的优先级。要看清楚这是「考试作弊式」的红队:给了源码、给了配置、给了漏洞文档、烧了几百亿 token,还专门指定信道。一般企业的 Agent 更可能死在三个地方:提示注入、凭证泄露、超时重试把写操作跑了两遍。缓存时序那条离你很远,出网白名单那条离你很近。照着前沿实验室的威胁模型做加固,是典型的用力用错地方。
第三,真正能迁移的只有三件事。出网默认拒绝、按允许名单开口子,并且记住 DNS 解析器、指标服务、日志服务都是出网口;监控必须能自动停,不能只报警;补丁要查到 Agent 工具自带的运行时副本。第三件最容易被忽略,Claude Code 自带 Brotli 这个例子说明,系统补丁和工具补丁是两张网。
第四,自曝制度化是进步,但别把自证当结论。METR 和 Redwood 那句「我们没验证过修复」比任何官方表态都重要。企业采购时该问的问题不是「你们隔离做得怎么样」,而是「上一次第三方复测是什么时候,结论是什么,能不能给原文」。同样的问题,也该问自己:你的 Agent 有一本「干了什么」的台账吗?如果没有,出事那天你连复盘的材料都拿不出来。台账和证据包这件事,AI Agent 证据包怎么留 里有可以直接抄的字段。
普通团队今晚能做的四件事
- 盘一遍出网口。不只是 80 和 443。DNS、指标上报、日志外发、包更新、证书校验,全都算。默认拒绝,按名单开,名单要有负责人和复核周期。
- 给监控加一个「能停」的动作。不用一步做到自动熔断,先做到「连续 N 次未授权尝试自动暂停该会话」,比等人看群消息强一个量级。
- 清查自带运行时的工具。列出所有 CLI 或容器镜像里自带 Node、Python、Brotli、OpenSSL 的组件,把它们的版本纳入补丁流程。这类组件的补丁周期通常比系统慢一个季度。
- 补一本动作台账。谁、在什么授权下、对哪个系统、做了什么、结果是什么、能不能撤销。这份台账的字段设计,可以直接参考 生产级 Agent 的七道安全防线 和 Docker 把编码 Agent 的沙箱搬上云 里那套「授权要可版本化」的思路——授权有了版本号,台账才有意义。
最后一句:这次两家头部实验室在同一周用不同方式承认了同一件事——能力越强,越要主动做减法。断网是一条,发布前裁剪能力是一条,把事故报告写成固定格式也是一条。减法做在前面,比事后复盘便宜得多。