第 141 期 · Agent 沙箱三条路线(其二)
腾讯云 CubeSandbox:把 Agent 关进独享内核的沙箱
一、它到底是做什么的
CubeSandbox 是腾讯云开源的一个面向 AI Agent 的安全沙箱服务,底层基于 RustVMM 和 KVM,每个沙箱跑一个独立的 MicroVM、独享操作系统内核。官方给出的硬指标是:冷启动低于 60 毫秒、单沙箱内存开销低于 5MB、单机可跑上千实例;同时兼容 E2B 的 SDK,也就是说你原来用 E2B Cloud 的客户端代码,把 endpoint 指过来、改一个环境变量就能无缝切到自建沙箱。它既能单机跑,也能扩成多节点集群。
拆开看,它由几个组件拼成:对外的是 CubeAPI(Rust 写的 REST 网关,兼容 E2B 协议)和 CubeProxy(反向代理);管调度的是 CubeMaster(集群编排)和 Cubelet(节点本地生命周期);网络靠 CubeVS(eBPF 虚拟交换机做内核级隔离);出口安全靠 CubeEgress(L7 域名过滤 + 凭证注入的网关);最底层是 CubeHypervisor 和 CubeShim,用 KVM 起 MicroVM 并接进 containerd 运行时。
二、怎么用(环境门槛是第一个坑)
部署有三条路:PVM 云 VM(官方推荐,普通云虚拟机即可,无需裸金属或嵌套虚拟化)、裸金属、以及开发环境(QEMU,不推荐)。生产集群可以用 Terraform 在腾讯云上一键拉起,也支持部署到标准 Kubernetes 集群(预览)。装好后在浏览器打开控制台:
http://<control-node IP>:12088
控制台里三步就能跑起来:看 Overview 确认节点 Ready → 从模板商店装一个官方预设模板 → Sandboxes 里点「+ New sandbox」选 READY 模板,几秒后就能看到实时日志。README 没有贴命令行,而是把安装、建模板、跑 agent 代码拆成了四步引导文档(备服务器 / 安装 / 建模板 / 跑代码)。
客户端侧几乎是零改动。README 原话:兼容 E2B SDK 接口,从 E2B Cloud 切过来「只需改一个环境变量,客户端代码零改动」。
三、优点和缺点
优点
- 真·硬件级隔离:每个沙箱独享内核,比 Docker 的共享内核命名空间安全得多;
- 快且密:低于 60ms 启动、低于 5MB 开销,单机上千实例,成本优势明显;
- 站在 E2B 生态肩膀上:迁移成本低,不用重写 agent 调用层;
- 内核级网络安全:eBPF 虚拟交换机做隔离,L7 安全代理做域名过滤和凭证注入,密钥从不进沙箱代码(Credential Vault);
- 快照 / 克隆 / 回滚做到百毫秒级,还能跨节点暂停恢复(预览);
- Apache-2.0 宽松许可,可放心商用、可改可闭源再分发。
缺点和坑(均来自真实 issue)
- 必须 x86_64 + KVM,本地 Mac 和轻量云机直接被挡在门外;
- E2B 兼容还没到 100%:#1648 指出 E2B 的 Sandbox.fork 逻辑迁移过来要重写,#1570 是 Node SDK 读文件总是按 UTF-8 解码、会搞坏 e2b 兼容的二进制流,#1768 还在求一个 E2B 兼容的 MCP 沙箱选项;
- 部署仍有摩擦:#1769 反馈用 helm 在 Ubuntu 24 上装会错误地去装 rpm 包,#1662 想要「只装控制面」的一键器;
- K8s 部署、跨节点暂停恢复、AgentHub 都还标着「预览」,生产稳定性要自己验证;
- 项目很年轻(2026 年 4 月首次开源,当前 v0.7.0),官方还在招「前 100 个生产团队」,说明大规模生产验证尚在早期;
- GPU 沙箱还在路线图里,暂时没法把 CUDA 推理塞进隔离 VM。
四、最终能达到什么效果
一句话:它把「高并发跑不可信 agent 代码」和「数据不出自己机房」这两件事合成了一个可控的自建服务。下面这张表帮你快速对号入座:
| 适合谁 | 不适合谁 |
|---|---|
| 已经在用 E2B Cloud、想降本或合规出域的团队;手上有 KVM 裸金属或支持嵌套虚拟化的云主机、要大规模并发跑 agent 的团队。 | 想在 Mac 本地或轻量云机上试玩的人;要「装完就是生产级稳定」、不愿跟预览功能较劲的团队。 |
以上结论来自 CubeSandbox 仓库 README、LICENSE 与公开 issue;许可证为 Apache-2.0,当前版本 v0.7.0。
下期预告:Agent 沙箱三条路线的另一条——ArcBox,不依赖 KVM 云主机、在笔记本上就能跑的本机微虚机沙箱。
