60ms 启动、5MB 开销、硬件级隔离:腾讯开源的 CubeSandbox 凭什么成为 AI Agent 沙箱新标配
当 AI Agent 开始替你写代码,一个老问题就变得尖锐了:代码在一个没有防护的环境里跑,谁来兜底?
Docker 的 Namespace 隔离本质上是共享内核的软隔离,一旦 LLM 生成的代码里有内核漏洞利用,容器逃逸就是分分钟的事。传统虚拟机倒是安全,但启动一次要好几秒,AI Agent 那种”写完马上跑”的节奏根本兜不住。
腾讯云的答案叫 CubeSandbox——一个基于 RustVMM + KVM 的开源 AI Agent 沙箱,60ms 冷启动、5MB 内存开销、硬件级隔离,同时兼容 E2B SDK。替换一个环境变量,现有 E2B Agent 代码就能直接跑在自托管环境里,无需任何业务代码改动。
它到底解决了什么问题
AI Agent 执行 LLM 生成的代码,面临的威胁模型和传统软件完全不同:代码是模型实时生成的、未经任何人审核、可以受到输入内容的诱导。这种”不可信代码执行”场景,Docker 的共享内核模式本质上是不及格的。
CubeSandbox 的思路是:每个沙箱一个独立 Guest OS 内核,通过 KVM 硬件虚拟化实现物理级隔离。即使沙箱内的代码利用了内核漏洞,崩溃的也只是沙箱自己的 Guest 内核,宿主机毫发无损。
配合 eBPF 内核态虚拟交换机 CubeVS,还能做到沙箱间的网络隔离和细粒度出站流量过滤——一个沙箱出了事,不会横向渗透到其他沙箱,也不会顺着网络拿到宿主机上的密钥。
核心数字:实测表现
根据项目公开的性能基准测试(裸金属环境):
| 指标 | CubeSandbox | Docker 容器 | nsjail | gVisor |
|---|---|---|---|---|
| 启动时间 | 2–45ms | 800ms–2.3s | 1–5ms | 100–500ms |
| 内存开销/实例 | ~1.2MB | ~25MB | ~0.5MB | ~15MB |
| 并发能力 | 81 req/s | 23 req/s | 120 req/s | 35 req/s |
| 隔离级别 | 硬件级(KVM) | 系统调用过滤 | 系统调用过滤 | 内核级隔离 |
| 网络隔离 | 完整支持 | 部分支持 | 不支持 | 完整支持 |
| Go SDK | ✅ | ❌ | ❌ | ❌ |
单并发冷启动 60ms,50 并发平均 67ms(P95 90ms,P99 137ms),稳定在百毫秒级。内存开销低于 5MB,意味着在一台 96vCPU 物理机上可以跑 2000+ 并发沙箱实例。
技术架构:六层各司其职
CubeSandbox 不是一个大一统的进程,而是一套组件各司其职的分层架构:
- CubeAPI(Rust):高并发 REST API 网关,完全兼容 E2B SDK 接口。替换
E2B_API_URL环境变量,现有 E2B Agent 代码零改动迁移。 - CubeMaster:集群调度器,接收 API 请求并分发到对应 Cubelet 节点,管理整个集群的资源状态。
- CubeProxy:反向代理,解析请求中的沙箱标识并路由到正确实例。
- Cubelet:节点本地调度组件,管理单节点所有沙箱实例的完整生命周期。
- CubeVS:基于 eBPF 的内核态虚拟交换机,实现沙箱间网络隔离和出站流量过滤。
- CubeHypervisor + CubeShim:基于 Cloud Hypervisor 定制的 KVM MicroVM 管理,CubeShim 实现 containerd Shim v2 接口,让沙箱可以像普通容器一样被 Kubernetes 管理。
60ms 冷启动的秘密在于两个关键技术:资源池预分配(提前维护好初始化好的 MicroVM 实例池,请求到达时 O(1) 查表取出)和 快照克隆(基于 Copy-on-Write 的快照克隆,只复制元数据,内存页首次写入时才真正拷贝,大部分内存页都是共享的)。
v0.6.0:走向生产环境
项目最近一次大版本更新(v0.6.0,2026-07-24,92 commits 来自 31 位贡献者)带来了几个关键的生产级能力:
Kubernetes 部署:通过 Helm Chart 可以直接将控制面和计算节点部署到 TKE / 标准 K8s / k3s 集群,支持滚动升级和金丝雀发布。这意味着已经有 K8s 基础设施的团队可以直接融入现有运维体系。
E2B 兼容 Volume 框架:引入了兼容 E2B 标准的 Volume 插件框架,提供 Create / Destroy / Attach / Detach 四个生命周期钩子,支持 Binary 和 RPC 两种插件形态。自定义存储后端可以即插即用。
沙箱内服务的 Host header 配置:新增 network.maskRequestHost 参数,可以自定义转发到沙箱内服务的 Host 值,解决了依赖 Host 做路由或验证的应用程序的兼容性问题。
之前的 v0.5.0 还加入了 AutoPause / AutoResume(空闲沙箱自动挂起,下一次请求时自动唤醒,节省成本)、Terraform 一键集群部署和 ARM64 原生支持。v0.4.0 带来了凭据保险库(Credential Vault)——Agent 通过安全代理调用外部 API,密钥从不进入沙箱,也不出现在模型上下文或日志里。
谁适合用,谁不适合
适合的场景:
- AI Agent 代码执行引擎:最合适的场景,秒级启动满足 LLM 交互需求,现有 E2B 代码零成本迁移
- 在线代码评测系统:比 Docker 轻量,比 nsjail 易用,有完整的网络隔离
- 强化学习训练(如 SWE-Bench):快照/克隆/回滚让 Agent 可以在关键节点存档、出错退回、并行探索
- 多租户代码执行:硬件级隔离,每个租户的代码运行在独立内核上
- 合规敏感环境:私有化部署,数据不出企业边界,Apache 2.0 协议无供应商锁定
不适合的场景:
- 需要完整网络隔离的生产环境(目前网络隔离功能在测评中被评为 7/10,仍在完善中)
- 多语言运行时环境(需要自己维护运行时,非开箱即用)
- 没有 KVM 环境的 Windows/macOS 开发者(需要 Linux VM 或 WSL2 + 嵌套虚拟化)
- 对安全有极致要求的场景(相比经过多年实战打磨的 gVisor,项目还比较新,社区响应速度有待观察)
门槛说明: 官方推荐部署在开启了 KVM 的 x86_64 Linux 物理机或云上裸金属服务器。腾讯云也提供了 PVM(半虚拟化)路径,普通云虚拟机也可以跑,无需 bare metal。但如果团队没有 Linux 运维和 KVM 经验,自托管的运维成本需要提前评估。
可执行的下一步
- 本地快速验证:一行命令部署体验版
curl -sL https://github.com/Tencentcloud/CubeSandbox/raw/master/deploy/one-click/online-install.sh | bash,然后用官方预构建镜像创建模板,跑一个e2b-code-interpreter的例子感受 60ms 启动的体验 - 已有 E2B 项目迁移:只需改
E2B_API_URL环境变量指向你的 CubeSandbox 实例,Python / JS / Go SDK 代码无需任何改动 - 生产级部署:参考 v0.6.0 的 Kubernetes Helm Chart 部署文档,将控制面和计算节点纳入已有的 K8s 集群管理体系
- 关注 Roadmap:快照跨节点复制(cross-node snapshots)和事件级快照回滚已在路线图上,对 RL 训练场景尤为重要
链接汇总:
- GitHub:https://github.com/TencentCloud/CubeSandbox
- 官方文档:https://docs.cubesandbox.ai/
- 性能基准测试报告:https://cubesandbox.com/zh/blog/posts/2026-06-01-cubesandbox-perf-benchmark.html
- 腾讯云技术解读:https://cloud.tencent.com/developer/article/2668268
- DEV Community 深度测评:https://dev.to/ferryman1980/cubesandbox-shen-du-ce-ping-teng-xun-kai-yuan-de-ai-agent-sha-xiang-dao-di-neng-bu-neng-da–3pm9
评论区
登录后可评论。