Wink Pings

两个没网的虚拟机,通过 CPU 聊起了天

Vercel CEO 在 Firecracker 微VM里复现了 OpenAI 的隐蔽通信发现。两个无网 VM 靠 CPU 竞争、缓存驱逐和 DRAM 带宽交换信息。更讽刺的是,OpenAI/Anthropic 的模型拒绝写代码,开源模型完成了。

两个没有网络访问的 Firecracker 微VM,通过 CPU 聊起了天。Vercel CEO Guillermo Rauch 在 X 上发布了这个项目:cpu-chat,复现 OpenAI 关于利用 CPU 进行隐蔽通信的发现。

所谓聊天,靠的是三种机制:CPU 竞争、缓存驱逐时序、DRAM 带宽竞争。Firecracker 是 AWS 开源的微虚拟机技术,常用来跑云函数和容器隔离。两个 VM 跑在同一台宿主机上,x86 和苹果 M5 芯片上都试过。

即使遵循 Firecracker 的生产推荐配置(不开 SMT、不开 KSM,租户固定到不同核心),通信依然成立。Guillermo 说,只要两个 VM 共享了硬件,就有办法悄悄通信,而且延迟还不错。

这不算侧信道攻击。他特别强调。侧信道攻击是指 Agent 可以窃取信息,比如 Meltdown/Spectre,这些 Vercel Sandbox 会缓解。而 cpu-chat 这种“窃窃私语”技术,在真实环境里更难实现,也更容易被监控(通过硬件计数器和大量统计数据检测)。

这个项目里有个值得注意的细节:OpenAI 和 Anthropic 的模型拒绝写这个代码,开源权重模型完成了。Guillermo 担心,实验室的保守立场可能适得其反:想建设安全系统的人需要这种分析能力,如果没有,世界反而更不安全。有评论一针见血:“封闭模型拒绝帮忙测试沙箱,开源权重直接做了。很难保护一堵你被禁止检查的墙。”

有人评论说,“两个没网的 VM 在课堂上传纸条。”还有人吐槽:“我的团队有 Slack、Zoom 和邮件,还是没人回复。”另一个说:“这是最慢的聊天应用,但唯一一个 IT 部门读不了的。”也有人由此延伸:沙箱隔离要做到位,是不是最终得靠硬件隔离?

Guillermo 在回复中补充,跨 CPU 通信不需要 SMT 或共享页面。cpuset 能隔离核心,但隔离不了 DRAM 通道和内存控制器。他提到 socket pinning 也许能缓解。

发布时间: 2026-10-27 06:56