研究员把 GPT-5.6 关进虚拟机,它逃了 3 次:最后现找出 0day

Trail of Bits 在受控测试中让 GPT-5.6 Cyber 从一台 QEMU/KVM 虚拟机逃逸三次。研究员依次更新系统并重建最新上游源码后,最终链仍包含三个发现时的 0day 和一个未进入发行版的修复,Agent 可持续工作约 12 小时。实验不代表普通 ChatGPT 或所有虚拟机都失守,却说明高能力 Agent 的隔离必须采用最小权限、网络限制、短期凭证、监控与更强硬件边界。
先说结论

研究员把 GPT-5.6 Cyber 关进一台 QEMU/KVM 虚拟机,结果它连续逃出三次;最后一次,最新源码里又被它找到多个新漏洞。
Trail of Bits 8 月 26 日公开了这场受控测试。Agent 的任务很明确:从研究员自己的 Debian 12 虚拟机逃到宿主机并读取旗标。第一次成功后,研究员更新系统;第二次成功后,他又把 QEMU 和依赖编译到最新上游版本。第三轮,Agent 仍拼出一条可靠的逃逸链。
这不是野外攻击,也不证明普通 ChatGPT 能随便攻破云服务器。它证明的是更窄、却足够重要的一件事:面对能持续读源码、写复现、回退换路的 Cyber Agent,一台现成虚拟机不再是充分的安全答案。
第一层防线:刚公开的漏洞

第一次逃逸使用了宿主内核中刚披露的漏洞。研究员随即安装完整更新,关掉这条已知路径。
这个回合本身不神奇。真正的警告是速度:高能力 Agent 能迅速把公开漏洞、目标版本和本机配置拼到一起。安全团队过去依赖的“攻击者还没来得及利用”窗口正在缩短。
第二层防线:补丁已经有了,发行版还没收到

第二次,Agent 利用了上游已经修复、但尚未进入研究员发行版的软件问题,并组合 libslirp 网络漏洞完成逃逸。
这暴露了补丁链条里的时间差。源代码仓库有修复,不等于生产环境已经安全;维护者分类、打包、测试和下发之间的几天或几周,正好是自动化漏洞研究最容易利用的空档。
第三层防线:那就直接上最新源码

研究员随后从最新上游源码重新构建 QEMU 与相关依赖,尽量清空公开补丁差。Agent 转而阅读代码、拉取论文、写最小复现和漏洞 Oracle,不断放弃失败路线。
Trail of Bits 记录的最终链包含三个在发现时属于 0day 的漏洞,以及一个已在上游修复、但尚未进入发行版的 KVM 问题。链条跨越 QEMU、Linux KVM 和 libslirp,目标是从来宾系统获得对宿主执行路径的控制。
最吓人的不是 0day,而是它能坚持约 12 小时

这次测试最值得关注的能力,不是一招命中。Agent 会长时间工作,经历上下文压缩和多次子 Agent 调用,自己检索资料、构建工具、验证假设,失败后换路线。
过去很多隔离设计默认,攻击面虽然很大,但找到可组合漏洞太耗专家时间。一个不下班、能并行搜索的 Agent,正在削弱这层隐含保护。
但别把一次实验写成“所有虚拟机都失守”

测试目标是研究员指定的 QEMU/KVM、Debian 12 和 AMD Zen3 机器,Agent 获得了 SSH、完整工具环境和明确旗标。结果不能推广到所有云平台、所有虚拟机管理器或随机目标。
Trail of Bits 还让 Agent 测试了 Firecracker。它能让宿主硬锁死,却没有完成逃逸。这条反例很重要:缩小设备模拟与可信计算基,仍然能提高攻击难度,只是不能把“更小”误写成“绝对安全”。
我的判断:以后要把高能力 Agent 当成持续性威胁

普通开发 Agent 不等于网络攻击者。但只要它能下载代码、编译工具、联网、运行调试器并连续工作,安全设计就应该假设它最终会碰到隔离层的薄弱点。
防线应从“一台 VM”升级成多层:最小权限、只读或一次性文件系统、网络出口白名单、短期凭证、宿主监控、任务结束即销毁,以及高风险工作负载与重要资产的物理或硬件级分离。
仍然要观察
- QEMU、KVM 和 libslirp 对相关报告的补丁与公告。
- 其他独立团队能否复现实验结果和最终逃逸链。
- 微虚拟机、硬件隔离与专用 Agent 沙箱的真实差异。
- 高风险 Cyber 模型的访问控制、日志和责任边界。
这和普通人有什么关系?
如果你让 Agent 在云服务器或公司电脑上自由运行命令,不要把“它在虚拟机里”当成完整风险评估。先限制它能看到的秘密、能访问的网络和能取得的凭证,再讨论模型够不够聪明。