
CubeSandbox 是腾讯云开源的高性能沙箱服务,专为 AI Agent 代码执行场景设计。它基于 RustVMM + KVM 构建,在安全性(硬件级隔离)与性能(毫秒级冷启动)之间取得了极致平衡,同时兼容主流的 E2B SDK,支持一行配置迁移。
特性 | 说明 |
|---|---|
⚡ 即时启动 | 平均冷启动 < 60ms,内存开销 < 5MB/实例 |
🔒 硬件级隔离 | 每个沙箱拥有独立 Guest OS 内核 + eBPF,彻底杜绝 Docker 共享内核逃逸风险 |
🔌 E2B 兼容 | 原生兼容 E2B SDK,只需修改一个环境变量 URL,业务代码零改动 |
📦 轻量高密度 | 单节点可运行数千个 Agent 实例 |
指标 | Docker 容器 | 传统 VM | CubeSandbox |
|---|---|---|---|
隔离级别 | 低(共享内核命名空间) | 高(独立内核) | 极高(独立内核 + eBPF) |
启动速度 | 200ms | 秒级 | < 60ms |
内存开销 | 低(共享内核) | 高(完整 OS) | 极低(< 5MB) |
部署密度 | 高 | 低 | 极高(单节点数千实例) |
E2B SDK 兼容 | ❌ | ❌ | ✅ 直接替换 |
📊 基准测试数据(裸金属):单并发 60ms;50 并发下平均 67ms,P95 90ms,P99 137ms,全程 < 150ms。
CubeAPI → CubeMaster → Cubelet → CubeHypervisor (KVM MicroVM)
↘ CubeProxy → 路由到具体沙箱实例
CubeVS (eBPF 虚拟交换机) → 内核级网络隔离
CubeEgress (OpenResty 出口网关) → L7 域名过滤 + 凭据注入 + 访问审计组件 | 职责 |
|---|---|
CubeAPI | 高并发 REST API 网关(Rust 实现),兼容 E2B |
CubeMaster | 集群编排器,负责资源调度与集群状态管理 |
CubeProxy | 反向代理,兼容 E2B 协议,将请求路由到对应沙箱 |
Cubelet | 节点本地调度组件,管理节点上所有沙箱实例的完整生命周期 |
CubeVS | 基于 eBPF 的虚拟交换机,提供内核级网络隔离与安全策略执行 |
CubeEgress | 基于 OpenResty 的出口安全网关:L7 域名过滤、凭据注入、访问审计 |
CubeHypervisor & CubeShim | 虚拟化层,管理 KVM MicroVM,实现 containerd Shim v2 API |
版本 | 主要特性 |
|---|---|
v0.1 | 初始开源,毫秒级启动,E2B 兼容 |
v0.3 | 引入 CubeCoW 写时复制快照引擎:事件级快照、即时克隆、任意状态回滚 |
v0.4 | 凭据保险库(API 密钥永不进入沙箱)+ Dashboard 可视化管理 |
v0.5 | AutoPause/AutoResume(闲置自动挂起/唤醒)+ Terraform 一键集群部署 + ARM64 支持 + 网络策略加固 |
前提条件:x86_64 Linux 环境 + KVM 支持
# 安装后,打开 Web 控制台
http://<your-server-ip>:12088推荐三步操作:
# E2B 迁移示例:只需修改环境变量
import os
os.environ["E2B_API_URL"] = "http://<cube-sandbox-host>:<port>"
# 以下业务代码完全不变
from e2b_code_interpreter import Sandbox
sandbox = Sandbox()
sandbox.run_code("print('Hello from CubeSandbox!')")