评测与安全

Agent 沙箱(Sandboxed Execution)

也叫: 沙箱 · 沙盒 · AI 沙箱 · sandboxed execution · 代码沙箱

Agent 沙箱是一个隔离的执行环境(如容器、微虚拟机或受限的操作系统进程),AI Agent 在其中运行代码和命令,对文件、网络和凭证的访问受到限制。

能执行 shell 命令、写文件的 Agent 很强大,一旦出错或被操控也很危险。沙箱用来限制破坏范围:Agent 在一个边界内工作,最坏的结果是沙箱坏掉,而不是电脑被清空或凭证泄露。

沙箱是一种 deterministic-guardrails(确定性护栏)。它不指望模型守规矩,而是由环境强制执行限制,即使模型被 prompt-injection(提示注入)骗了也照样有效。

强度因机制而异。容器共享宿主内核、更轻量;微虚拟机和虚拟机提供更强的隔离,开销也更高;操作系统级沙箱则限制普通进程。许多编程 Agent 还会把沙箱与权限确认提示结合使用。

怎么运作

沙箱通常从多个维度设限:文件系统(只有工作目录可写)、网络(默认拒绝或只允许白名单主机)、资源(CPU、内存、时间上限)、密钥(不留环境凭证,只在需要时注入范围受限的令牌)。Agent 的工具调用在沙箱内执行,结果再返回。在步骤之间保留状态(比如已安装的依赖或已检出的仓库)是常见的设计选择。

举个例子

编程 Agent 被要求运行项目的测试套件。它在一个容器里运行:仓库以读写方式挂载,网络只放行包仓库,看不到开发者的主目录。若恶意测试脚本想读 SSH 密钥或上传文件,会发现既没东西可拿,也没地方可发。

和相关概念的区别

沙箱与权限确认提示:确认提示让人逐个批准操作,属于 human-in-the-loop,容易出现“审批疲劳”;沙箱则限制任何被批准或未被批准的操作所能造成的影响。两者常搭配使用。

常见误解

常被以为: 把 Agent 放进容器就完全安全了。
实际上: 容器共享宿主内核,也可能配置失误;沙箱里放行的网络或挂载的密钥仍可能被滥用。隔离能降低风险,但强度取决于配置。

常见问题

Agent 沙箱是什么?
一个隔离环境,AI Agent 在其中运行代码和命令,对文件、网络和凭证的访问受限,从而限制错误或攻击造成的损害。
编程 Agent 需要沙箱吗?
凡是会执行命令的场景,尤其是处理不可信输入时,强烈建议使用,因为即使模型被欺骗或出错,沙箱也能限制影响。
容器和微虚拟机沙箱有什么区别?
容器更轻量但共享宿主内核;微虚拟机运行独立内核,隔离更强,开销也更高。

最近核实: 2026-09-20

相关术语