CubeSandbox
基于 RustVMM 和 KVM 的高性能安全沙箱服务,专为 AI Agent 执行不可信代码设计。兼容 E2B SDK,冷启动 <60ms,每个实例内存开销 <5MB,提供硬件级隔离和 eBPF 网络管控。腾讯云开源,适合需要高并发、安全隔离的 Agent 执行环境场景。
README
CubeSandbox
为 AI Agent 打造的即时、并发、安全、轻量的沙箱服务
中文文档 · 快速开始 · 文档 · 更新日志 · X(Twitter)
Cube Sandbox 是一款基于 RustVMM 和 KVM(基于内核的虚拟机)构建的高性能、开箱即用的安全沙箱服务。它支持单节点部署,也可轻松扩展至多节点集群。兼容 E2B SDK,可在 60ms 内创建一个硬件隔离、功能完整的沙箱实例,且单实例内存开销小于 5MB。
📰 新闻
|
|
v0.4:更安全的出站,更便捷的运维 凭证保险库 — Agent 照常调用外部 API,密钥永远不会进入沙箱。仪表盘 — 版本矩阵和模板健康检查,一眼看出升级后是否需要重建模板。 更新日志 → · 安全代理指南 → · WebUI 指南 → |
|
|
百毫秒级快照、克隆与回滚 CubeSandbox 0.3.0 引入 CubeCoW 写时复制快照引擎,支持事件级快照、即时克隆以及回滚到任意保存状态。 更新日志 → |
|
|
🎉 首次开源发布 Cube Sandbox 现已开源!毫秒级启动、硬件级隔离、兼容 E2B 的 AI Agent 沙箱。 更新日志 → |
产品亮点
|
⚡ 60ms 内启动 · 高密度 平均冷启动 <60ms,单实例开销 <5MB — 单节点可运行数千个 Agent 快速开始 → |
🔒 硬件级隔离 每个沙箱拥有独立的 Guest OS 内核 — 无 Docker 共享内核逃逸风险;安全执行不可信的 LLM 生成代码 架构说明 → |
🔌 无缝迁移 E2B 原生兼容 E2B SDK — 只需修改一个 URL 环境变量,业务代码零改动 示例 → |
|
🖥️ Web 控制台 在浏览器中管理沙箱、模板、节点和版本矩阵 — 安装后直接访问 :12088WebUI 指南 → |
🔐 凭证保险库 Agent 照常调用 LLM 和外部 API — 密钥永远不会进入沙箱、模型上下文或日志 安全代理指南 → |
🛡️ 出站控制 域名白名单、未授权出站即时阻断、完整审计日志满足合规要求 安全代理指南 → |
|
📸 快照 · 克隆 · 回滚 正在运行的沙箱可进行百毫秒级检查点 — 从任意保存状态回滚或分叉 v0.3 更新日志 → |
📦 模板系统 将 OCI 镜像一步转换为模板,从模板商店安装官方预置集,自动跨节点分发 模板指南 → |
🤖 AgentHub 数字助手 一键启动 OpenClaw 助手 — 快照、回滚、发布助手模板 数字助手 → |
演示
| 安装 & 演示 | 性能测试 | RL(SWE-Bench) | 快照 · 克隆 · 回滚 |
基准测试
在 AI Agent 代码执行场景下,CubeSandbox 实现了安全性与性能的完美平衡:
| 指标 | Docker 容器 | 传统 VM | CubeSandbox |
|---|---|---|---|
| 隔离级别 | 低(共享内核 Namespace) | 高(独立内核) | 极致(独立内核 + eBPF) |
| 启动速度 *完整 OS 启动耗时 |
200ms | 秒级 | 毫秒级(<60ms) |
| 内存开销 | 低(共享内核) | 高(完整 OS) | 超低(极致精简,<5MB) |
| 部署密度 | 高 | 低 | 极致(单节点数千实例) |
| E2B SDK 兼容 | / | / | ✅ 即插即用 |
- 冷启动测试基于裸金属环境。单并发下 60ms;50 并发创建时,平均 67ms,P95 90ms,P99 137ms — 稳定低于 150ms。
- 内存开销基于沙箱规格 ≤32GB 的测试环境。更大配置可能略有增加。
关于启动延迟和资源开销的详细指标,请参阅核心操作性能基准测试报告(裸金属)和PVM 云服务器基准测试报告。
|
|
|
| 单并发和高并发下沙箱交付均低于 150ms |
不同实例规格下 CubeSandbox 基础内存占用 (*蓝色:沙箱规格;橙色:基础内存开销。注意内存消耗随实例规格增长而增加幅度很小。) |
|
快速开始
⚡ 毫秒级启动 — 查看上方快速启动流程。
Cube Sandbox 需要 x86_64 Linux 环境并支持 KVM。
本指南通过四个步骤指导你完成全部操作 — 准备服务器、安装 Cube Sandbox、创建沙箱模板、运行你的第一个 Agent 代码。无需源码编译,几分钟内即可启动运行。
选择你的部署路径:
|
🖥 PVM · 云 VM →
🏆 推荐 |
🏗 裸金属 → |
💻 开发环境 →
⚠️ 不推荐(性能较差) |
安装后第一件事:打开 Web 控制台
🖥️ 可视化管理 — 从概览到创建沙箱并查看实时日志,一切都在浏览器中完成。
一键部署后,在浏览器中打开:
http://<控制节点 IP>:12088
推荐三个步骤:
- 检查概览 — 打开概览,确认节点状态为 Ready,容量正常
- 准备模板 — 从模板商店安装官方预置集;如果模板中已有状态为
READY的模板,可跳过此步 - 创建沙箱 — 沙箱 → + 新建沙箱,选择一个
READY模板,几秒钟后在详情页即可看到实时日志
请参阅完整的 WebUI 控制台指南。
深入阅读
- 文档首页 — 完整指南导航
- ☁️ PVM 部署 — 在普通云 VM 上部署,无需裸金属或嵌套虚拟化
- 模板概念 — 镜像到模板的概念和工作流程
- 示例项目 — 亲手实践的示例(代码执行、浏览器自动化、OpenClaw 集成、RL 训练等)
- 🖥️ WebUI 控制台 — 安装后即刻使用的可视化界面(
:12088) - 🔐 安全代理与凭证保险库 — CubeEgress 域名过滤、注入与审计
- 🤖 数字助手 AgentHub — 创建和管理 OpenClaw 助手(预览版)
- 💻 开发环境(QEMU VM) — 没有 KVM 访问权限?在可丢弃的 OpenCloudOS 9 VM 内试用 Cube Sandbox
架构
| 组件 | 职责 |
|---|---|
| CubeAPI | 高并发 REST API 网关(Rust),兼容 E2B。修改 URL 即可无缝迁移。 |
| CubeMaster | 集群编排器。接收 API 请求并分发给对应的 Cubelet。管理资源调度和集群状态。 |
| CubeProxy | 反向代理,兼容 E2B 协议,将请求路由到对应沙箱实例。 |
| Cubelet | 计算节点本地调度组件。管理节点上所有沙箱实例的完整生命周期。 |
| CubeVS | 基于 eBPF 的虚拟交换机,提供内核级网络隔离和安全策略执行。 |
| CubeEgress | 基于 OpenResty 的出站安全网关:L7 域名过滤、凭证注入和访问审计;与 CubeVS 内核策略配合,确保沙箱流量无法绕过检查。 |
| CubeHypervisor & CubeShim | 虚拟化层 — CubeHypervisor 管理 KVM MicroVM,CubeShim 实现 containerd Shim v2 API,将沙箱集成到容器运行时中。 |
👉 更多细节请阅读架构设计文档和CubeVS 网络模型。
社区与贡献
我们欢迎各种形式的贡献——无论是错误报告、功能建议、文档改进还是代码提交!
- 🐞 发现 Bug 或有疑问? 在 GitHub Issues 提交 issue。
- 💡 有好想法? 加入 GitHub Discussions 参与讨论。
- 🛠️ 想贡献代码? 查看我们的 CONTRIBUTING.md 了解如何提交 Pull Request。
- 📝 想贡献文档? 向社区文档频道提交双语 PR:故障排除、使用场景和集成。
- 💬 想聊天? 加入我们的 Discord。
许可证
CubeSandbox 依据 Apache License 2.0 发布。
CubeSandbox 的诞生得益于众多开源巨头的贡献。特别感谢 Cloud Hypervisor、Kata Containers、virtiofsd、containerd-shim-rs、ttrpc-rust 等项目。我们对部分组件进行了定制化修改以适应 CubeSandbox 的执行模型,并保留了原始文件中的版权声明。
Cube Sandbox 已收录于 CNCF Landscape。