Sandbox(沙箱)
一种隔离执行环境,在本系列中特指 Coding Agent 用于运行用户代码的安全容器。沙箱确保 Agent 生成的代码在受限环境中执行,即使代码有 bug 或恶意行为也不会影响宿主系统。核心挑战:安全隔离与功能可用性之间的平衡。
Sandbox(沙箱)
一句话理解
给代码一个"隔离间"——在里面随便跑,跑坏了也不影响外面的世界。
本系列的特定含义
"沙箱"在安全领域有广义用法(恶意软件分析沙箱等)。本系列中特指 Coding Agent 的代码执行沙箱——Agent 生成的代码在隔离环境中运行,防止对宿主系统造成破坏。
核心挑战
安全隔离与功能可用性之间的矛盾:
| 隔离级别 | 实现方式 | 安全性 | 可用性 |
|---|---|---|---|
| 进程级 | subprocess + 资源限制 | 低 | 高 |
| 容器级 | Docker / 轻量容器 | 中 | 中 |
| 虚拟机级 | microVM (Firecracker) | 高 | 低 |
隔离越严格,Agent 能做的事就越少(比如无法访问网络、无法安装依赖包)。各 Coding Agent 在这个取舍上做了不同选择。
主流 Coding Agent 的沙箱策略
- OpenHands:使用 Docker 容器,Agent 在容器内有完整的 shell 访问权限
- SWE-Agent:进程级隔离 + 自定义 shell 接口
- Aider:最轻量,直接在用户本地环境执行(依赖用户自行管理安全)
引用本术语的文章