E2B教程:13.9k星企业级Agent安全沙箱,代码执行隔离环境

📌 项目:e2b-dev/E2B | 星数:13.9k(2026-09-24) | 协议:Apache-2.0 | 语言:Python | GitHub

一句话定位:"给Agent一个安全的沙箱——隔离环境执行任意代码,企业级安全,真实工具。" E2B为AI Agent提供隔离的代码执行沙箱,Agent在其中安全运行代码、安装包、操作文件系统,不影响宿主环境。企业级安全设计,支持自定义沙箱镜像。

🔒 沙箱架构与安全

E2B的沙箱是完全隔离的Linux环境:

这让Agent能安全执行用户提交的代码、运行数据分析、安装临时依赖。和 TypeSafe Computer Use 做浏览器操作不同,E2B专注代码执行隔离。

🚀 快速开始

pip install e2b

from e2b import Sandbox

# 创建沙箱
sbx = Sandbox()

# 执行代码
result = sbx.run(
    language="python",
    code="import matplotlib.pyplot as plt\nplt.plot([1,2,3])\nplt.savefig('chart.png')"
)
print(result.text)  # stdout

# 读取生成的文件
chart = sbx.files.read("chart.png")

# 关闭沙箱
sbx.close()

🔧 自定义镜像与超时

E2B支持自定义沙箱镜像和超时配置:

# 使用自定义镜像
sbx = Sandbox(template="my-data-analysis")

# 设置超时(默认5分钟)
sbx = Sandbox(timeout=600)  # 10分钟

# 保持沙箱存活
sbx = Sandbox(timeout=0)  # 永不超时(需手动close)

# 重新连接已有沙箱
sbx = Sandbox.reconnect("sandbox_id_123")

自定义镜像通过E2B CLI创建:e2b template build,基于Dockerfile定义沙箱环境。

⚖️ 优缺点

✅ 优点⚠️ 不足
完全隔离的代码执行环境,企业级安全沙箱启动有数秒延迟
支持自定义Docker镜像需E2B Cloud或自托管服务
文件系统持久化,跨会话保持免费层沙箱数量有限
Python SDK简洁易用网络隔离可能限制部分用例
Apache-2.0协议

📚 常见问题

E2B沙箱和Docker容器有什么区别?

E2B沙箱是轻量级VM,提供比Docker更强的隔离(独立内核),专为AI Agent代码执行设计,内置SDK和API。Docker更通用但隔离性较弱。

能自托管E2B吗?

可以。E2B是开源的(Apache-2.0),可自托管。也有E2B Cloud提供托管服务,免费层可用。

沙箱能访问网络吗?

默认沙箱有受限网络访问(可访问公网API)。可配置完全无网络或自定义网络策略,满足不同安全需求。