TwKit

推文

@ScarletKc · 2026-10-16 02:05

Perplexity 把 Computer 背后的沙箱平台 SPACE 开源了,Apache 2.0。我觉得这对写 agent harness 的人意义挺大。harness 里最难自己做好的,就是给 agent 跑代码的环境,现在可以直接把 Perplexity 线上在用的那套拿来自己部署。 以前要么接 E2B 这类商业沙箱,要么拿 Docker 自己凑合,隔离、状态恢复、密钥管理都得自己扛。SPACE 现在跑着 Computer 的全部会话,每天创建几百万个沙箱。 每个沙箱是一个 Firecracker microVM,有自己的内核。他们拿 Opus 5.0、GPT-5.6 Sol、Kimi K3 这些模型专门去尝试逃逸。agent 在 guest 里有 root,有的还给了源码和网络,108 次没有一次逃到宿主机。网络限制倒是被绕过了 11 次。一种是在 guest 里伪造 DNS 响应,另一种是借 CDN 的共享 IP 访问被禁的服务。两个洞都补了,复测没再成功。 Opus 其实也想到了共享 IP 这条路。但任务说明要求不碰其他外部系统,它觉得借第三方服务绕过去违反了约束,就没试。它最后是靠伪造 DNS 绕过去的。 他们还用同样的方法测了另外 10 家沙箱平台,8 家都能绕过网络限制。有的已经修了,E2B 还在处理,Modal 和 Vercel 认为这是已知限制。VM 逃不出去和网络关得住是两回事,自己配个 egress allowlist 不一定真拦得住 agent。 SPACE 的凭证也不进沙箱。key 放在外面的 credential store,在网络层注入,出站流量全部过 gateway 按策略放行。agent 就算中了 prompt injection,沙箱里也读不到 key。 suspend 会把内存、进程和文件系统一起做成快照,之后换个节点也能恢复。agent 停下来等人确认,回来可以接着跑。长任务中途崩了,也能从最近的 checkpoint 接上,不用从头重建环境。 还支持回滚和 fork。agent 跑了破坏性命令可以直接退回去,也可以复制出两份工作区,让它分别试两种方案。 它还带了一个 E2B 兼容层。用 E2B Python SDK 写的 harness,客户端改下 domain 和 API key,就能切到自己部署的 SPACE。 门槛是要 Linux x86_64 加 KVM,官方教程走 Kubernetes。Mac 上跑不了,没有 /dev/kvm 的 VPS 也不行。

曝光 1067 · 评论 7 · 点赞 12 · 书签 8

TwKit
正在载入