0Pricing
AI Agents · 课时

代码智能体的沙盒执行

绝不要在主机上运行模型生成的代码——请使用 gVisor、Firecracker 或 E2B 沙盒。

代码智能体的沙盒执行 是 CoddyKit 上的免费 AI Agents 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Agents 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Agents 课程共包含 4 节课。

本课时的部分内容尚未翻译,以英文显示。

为什么需要沙箱?

代码代理(Devin、Claude Code、OpenDevin)会运行模型生成的代码。如果您在主机上运行这些代码,模型就可以:

  • 读取您的机密信息或接口密钥
  • 删除文件
  • 发起出站网络调用
  • 挖掘加密货币

沙箱 = 限制损害范围的隔离环境。

隔离级别

级别工具用途
进程subprocess + chroot安全性低,仅用于开发
容器Docker较好的默认选择
VM / microVMFirecracker、gVisor强隔离
托管沙箱E2B、Daytona最容易用于生产环境

Docker Sandbox Basics

docker run \
  --rm \
  --network=none \
  --memory=512m \
  --cpus=0.5 \
  --read-only \
  --user=nobody \
  -v /tmp/work:/work:rw \
  python:3.11-slim \
  python /work/script.py

网络隔离

--network=none 会禁用出站流量。某些任务需要有限的互联网访问——请使用仅允许特定主机的出站代理。

资源限制

上限可以防止 CPU 或内存失控:

  • --memory——RAM 上限
  • --cpus——CPU 份额
  • --pids-limit——进程数量
  • --ulimit——文件描述符数量

Firecracker / gVisor

如果需要比 Docker 更强的隔离:

  • Firecracker——由 AWS 提供的 microVM,被 Lambda 使用
  • gVisor——Google 提供的用户空间内核,可直接替代 Docker
  • Kata Containers——结合 Docker 使用体验与 VM 隔离

E2B 托管沙箱

E2B(e2b.dev)通过接口为您提供远程沙箱:

# pip install e2b
import e2b
sandbox = e2b.Sandbox(template='python', api_key='...')

result = sandbox.run_code('print(2 + 2)')
print(result.stdout)   # '4'

sandbox.close()

Daytona

Daytona 提供类似的托管沙箱功能,面向开发工作区。

文件系统沙箱

仅以读写方式挂载代理需要的内容;其他所有内容都设为只读或隐藏:

docker run -v ${PWD}/workdir:/workdir:rw \
           -v ${PWD}/readonly:/readonly:ro ...

时间限制

限制执行的实际耗时,以防止无限循环:

docker run --rm --stop-timeout 30 ... \
  python -c 'import resource; resource.setrlimit(resource.RLIMIT_CPU, (30, 30)); exec(open("/work/script.py").read())'

日志记录

捕获每条命令、每个输出和每次文件更改。对于高风险代理,请记录完整的沙箱会话审计日志。

多租户沙箱

为每位用户分别提供沙箱,可以防止用户污染彼此的状态。每次会话都启动一个全新的沙箱;会话结束后将其拆除。

成本与安全性

更强的隔离意味着更高的成本(每个 VM 都有额外开销)。请根据风险匹配隔离级别:

  • 面向用户的教程或沙箱功能:Docker 已经足够
  • 会接触机密信息的生产代码:Firecracker / E2B

网络封锁

如何防止代码代理发起任何出站网络调用?

回顾

NEVER 在您的主机上运行模型生成的代码。请根据风险选择隔离级别:开发环境使用 Docker,生产环境使用 gVisor / Firecracker / E2B。限制 CPU、内存、运行时间和网络。

常见问题解答

「代码智能体的沙盒执行」课时是免费的吗?

是的 — 「代码智能体的沙盒执行」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Agents 课程的其余内容,请升级到 CoddyKit PRO。 AI Agents 课程共包含 4 节课。

「代码智能体的沙盒执行」这节课中我会学到什么?

绝不要在主机上运行模型生成的代码——请使用 gVisor、Firecracker 或 E2B 沙盒。 你通过在浏览器中直接运行的动手代码来练习 AI Agents,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 AI Agents 需要有经验吗?

无需任何先前经验。CoddyKit 上的 AI Agents 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「代码智能体的沙盒执行」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 AI Agents 课中编写并运行代码吗?

能。每节 AI Agents 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 提示词注入防御
  2. 输出过滤(Llama Guard、NeMo)
  3. 代码智能体的沙盒执行
  4. 工具访问控制
← 返回 AI Agents