S3·检索与Agent

Agent Sandbox

评测与安全3 分钟

Agent Sandbox 是 Agent 的"隔离执行环境"——让 Agent 能在受限的安全边界内自由操作,而不是直接接触系统和数据,防止恶意或意外行为。

① 一句话定义

Agent Sandbox(Agent 沙箱)是一个隔离的执行环境,Agent 在其中运行代码、操作文件、调用系统命令时被严格限制权限,确保即使 Agent 行为异常或执行了恶意代码,也不会影响宿主机或访问敏感数据。它是 Agent 安全体系中最基础的一层防线。

② 为什么重要

Agent 能"做事"意味着它也能"搞破坏":

  • 代码执行风险:Agent 运行用户让它生成的代码,或自己写的代码——这些代码可能包含 Bug、死循环、恶意指令。
  • 文件系统风险:Agent 可能意外删除重要文件、读取敏感配置、覆盖关键数据。
  • 网络风险:Agent 可能访问不该访问的外部服务、泄露内部数据。
  • 合规要求:SOC2、HIPAA 等安全认证要求 AI 系统必须有沙箱隔离。

③ 核心机制

Agent 沙箱通常包含多层隔离:

1. 容器化隔离:每个 Agent 实例运行在独立的 Docker/VM 容器中。容器之间文件系统、网络、进程完全隔离。任务完成后容器销毁,不留痕迹。这是最主流的方案。

2. 文件系统沙箱:Agent 只能访问指定的工作目录。所有文件操作被代理拦截——读操作只允许访问白名单路径,写操作限制在临时目录。

3. 网络隔离:沙箱内的网络访问通常被限制——只允许访问必要的 API 端点(如 LLM API),禁止访问内部服务和公网。

4. 资源限制:CPU、内存、磁盘、执行时间都有上限。死循环不会耗尽宿主机资源,超时自动终止。

5. 系统调用过滤:使用 seccomp、AppArmor 等内核级过滤,限制容器内可执行的系统调用。

④ 典型应用场景

编程 Agent:Claude Code、Devin 等执行用户生成的代码时,所有代码在沙箱中运行。

数据分析 Agent:用户上传 CSV,Agent 在沙箱中运行 Python 分析脚本,确保文件不被泄漏。

自动化测试 Agent:在沙箱中部署测试环境,运行测试后销毁,避免环境污染。

代码审查 Agent:在沙箱中运行被审查的代码,验证是否存在运行时风险。

⑤ 常见误区

误区:沙箱 = 100% 安全
✅ 实际上:沙箱是安全的必要但不充分条件。容器逃逸漏洞时有发生(CVE)。沙箱应结合权限最小化、审计日志、人工审核等多层防护。

误区:所有 Agent 都需要沙箱
✅ 实际上:如果 Agent 只做文本生成、不带代码执行能力,就不需要沙箱。沙箱主要针对具有代码/命令执行能力的 Agent。

Agent Sandbox 是给 AI 的"安全手套"——让它能动手干活,但不会伤到周围的东西。