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:最轻量,直接在用户本地环境执行(依赖用户自行管理安全)

引用本术语的文章