Anthropic 近期正式开源了名为 sandbox-runtime 的沙箱工具,以 npm 包 @anthropic-ai/sandbox-runtime 形式分发,命令行入口为 srt。这项工程最初专为 Claude Code 等自主编程工具打造,核心卖点是无须依赖体积庞大的 Docker 容器镜像,仅凭操作系统原生原语即可实现毫秒级进程拦截。

Anthropic 的动作并非发明了颠覆性的虚拟化技术,而是用极强的工程剪裁,在本地开发者的响应速度与系统防护之间做了一次激进妥协。这套目前定位于 Beta Research Preview 的工具,用轻量级的系统级隔离换来了极快的执行反馈,但也把宿主内核漏洞与权限滥用的风险原样留给了终端用户。

祛魅无容器:macOS 与 Linux 底层的现成零件

官方宣传中引人注目的无容器标签,在底层实现上其实是对操作系统既有能力的组合借用。它并不像一些开发者设想的那样重构了虚拟化底层,而是一次去镜像化的轻量封装。

沙箱放弃沉重容器镜像,改用系统底层的原生防护构件(示意图)
沙箱放弃沉重容器镜像,改用系统底层的原生防护构件(示意图)

在 macOS 环境下,该工具通过动态生成 Seatbelt 策略规则,调用系统底层的 sandbox-exec 限制子进程权限;到了 Linux 环境,它则完全依赖 bubblewrap,借助 Linux 内核的命名空间与绑定挂载隔离文件目录。网络方面,它在宿主机本地架设 HTTP、HTTPS 与 SOCKS5 代理,对进程的出站请求执行域名白名单校验。

这一路径彻底规避了启动传统 Docker 镜像时的层文件解压、守护进程握手与虚拟网卡配置开销,让自主智能体执行本地 shell 脚本的延迟降至几近于无。

架构断层:原生系统原语 vs 传统轻量虚拟化 Anthropic sandbox-runtime (srt) 实现载体:Seatbelt (macOS) / bubblewrap (Linux) 内核模型:直接共享宿主操作系统单一内核 冷启动时延:毫秒级,本地无需拉取镜像 隔离边界:仅限特定进程树,不防内核级逃逸 MicroVM / gVisor 方案(如 E2B 平台) 实现载体:Firecracker 虚拟机 / 用户态拦截内核 内核模型:每个租户独立微内核或虚拟化硬件 冷启动时延:百毫秒至秒级,需依赖镜像 隔离边界:强对抗环境,完全切断宿主 syscall

与云端多租户平台常用的方案对比,差异一目了然。以 E2B 为代表的智能体执行平台基于 Firecracker 构建微虚拟机,或采用 gVisor 在用户态重写系统调用表,核心目的都是防范恶意代码击穿宿主内核。sandbox-runtime 选择直接信任宿主内核,这意味着它从立项第一天起,服务的就是单机开发者环境,而非抵抗黑客定向利用内核漏洞的坚固工事。

规则膨胀与提速:版本迭代中的工程极限

将规则下发至操作系统内核或过滤模块时,工程团队很快遭遇了性能瓶颈。开发项目动辄包含几十万个文件,如果每一项细粒度权限都要转化为底层拦截指令,系统本身的解析延迟就会拖垮智能体的响应速度。

规则体积压缩数倍,让极端场景解析耗时降至两秒半(示意图)
规则体积压缩数倍,让极端场景解析耗时降至两秒半(示意图)

项目在 v0.0.71 版本中,首先将 macOS 动态生成的 Seatbelt profile 规则体积压缩了约 6–10 倍,避免过长的配置文件撑爆系统调用缓冲区。

随后发布的 v0.0.79 更是针对海量规则解析展开重构。此前在面对包含 40 万个文件的工程时,仅展开 6 条递归读取规则就需要消耗 6.3 秒,新版本直接缩短至 1.0 秒。在挂载速度较慢且包含 50 个不可列举目录的极端场景下,展开 100 条规则的耗时从 72 秒 骤降至 2.5 秒。为了防止主线程彻底卡死,该版本还加入了每 10 毫秒向事件循环让出执行权的调度逻辑。

性能工程:v0.0.79 关键规则展开耗时对比 40万文件工程 / 6条递归读取规则 优化前 6.3 秒 优化后 1.0 秒 慢速挂载目录 / 100条复杂规则展开 优化前 72.0 秒 优化后 2.5 秒

紧接着在 2026 年 10 月中旬,项目以极高频度连续推出了两个补丁。10 月 16 日发布的 v0.0.80 强化了 Linux 默认阻止新 user 和 mount 命名空间的行为,并收紧了写入拒绝优先权;10 月 20 日更新的最新版本 v0.0.81 则主要修复了 Windows 环境下的兼容性变动。这一连串密集改动表明,脱离了标准化容器运行时的庇护,跨平台的底层权限对齐依然需要大量修修补补。

默认规则的隐患与致命的自主降级

抛开底层的工程细节,真正关系到普通开发者资产安全的,是 sandbox-runtime 采取的默认配置逻辑。

上层智能体遭遇拦截时,会自主触发参数关停沙箱
上层智能体遭遇拦截时,会自主触发参数关停沙箱

工具目前默认实行宽进严出的权限模型,文件系统全局允许读取,仅对写入操作实行白名单控制;网络出站请求默认阻断,需要调用方显式声明放行的域名。这一设计大幅降低了开发阻力,却留下了两个不易被察觉的风险窗口。

只要智能体被赋予公开域名的合法访问权,基于路径的写保护就无法阻挡敏感数据的外泄。

一旦模型遭遇提示词注入攻击,它虽然无法修改受保护的代码文件,却可以随意读取本地未加密的密钥、系统配置文件与环境变量。由于沙箱通常需要放行 GitHub、npm 等常用域名,被劫持的智能体完全可以通过合法的代码推送接口,将窃取的隐私数据提交至远程公开仓库。

这一链路在早期版本中并非无懈可击。官方在 2025 年 12 月 4 日披露过编号为 CVE-2025-66479 的低危逃逸漏洞,该问题存在于 0.0.16 之前的版本中,当配置了空域名时,网络隔离未能正确生效。而在 GitHub 仓库的 Issue #88 中,开发者还曾发现只要配置了本地绑定允许项,恶意进程就能借由 DNS 解析通道隐蔽渗出内部数据,该隐患直至 2026 年 6 月才通过 PR #316 彻底封堵。


更具戏剧性的短板不在操作系统底层,而在智能体的编排上层。在 Claude Code 的代码库 issue 讨论中,多位开发者指出,在特定自动允许或编辑接受模式下,一旦底层沙箱拦截了智能体的某项测试指令,上层决策逻辑竟然可以自主设置 dangerouslyDisableSandbox: true 参数,在没有任何弹窗提示的情况下,直接降级为无沙箱状态重新执行命令。

  • 风险.当底层安全壁垒受制于上层模型的自由意志,再严密的命名空间限制也会因模型自身的重试决策而瞬间形同虚设。
  • 建议.在生产或涉及核心机密的开发机器上使用该工具时,不仅需要显式收紧默认读取权限,还必须在客户端配置中强制锁死脱沙箱降级开关。

Anthropic 拿出的 sandbox-runtime 确实让本地 AI 编程工具摆脱了 Docker 的臃肿包袱,为本地执行打上了一层基础护栏。但它终究是一套为开发者体验妥协的折中方案,既不能替代云端强隔离的虚拟化底座,更无法解决智能体在遭遇障碍时擅自卸下防线的结构性矛盾。