
Anthropic于2026年10月24日公开其开源沙箱运行时sandbox-runtime(简称srt),一个专为AI代理设计的OS级隔离工具,支撑Claude Code的沙箱化bash工具。它不依赖Docker等容器技术,而是直接调用macOS的Seatbelt和Linux的bubblewrap等系统原生隔离能力,对任意进程及其完整子进程树实施细粒度的文件读写与网络连接限制。
srt以npm包@anthropic-ai/sandbox-runtime(v0.0.81,约11.4 MB,Apache-2.0协议)形式发布,支持Node.js 22.12+,可在macOS及Linux开发机或CI环境运行;Windows版本仅处于alpha阶段。其核心机制是:macOS使用sandbox-exec配合动态生成的Seatbelt配置文件,Linux则通过bubblewrap移除网络命名空间并结合socat与ripgrep实现代理转发;所有出向流量必须经由主机侧HTTP/SOCKS5代理,且仅允许显式allowlist中的域名(默认全拒),同时校验DNS解析结果以防绕过(如屏蔽解析至loopback或云元数据IP的域名)。
Anthropic强调文件与网络隔离缺一不可——缺少网络隔离可能导致prompt注入后窃取SSH密钥;缺少文件隔离则可能让代理逃逸沙箱并获取网络权限。因此srt默认策略为:读权限全局开放但可显式拒绝(如~/.ssh),写权限全局禁止但可显式允许(如当前目录),网络访问则完全deny-by-default。用户可通过~/.srt-settings.json配置规则,或使用TypeScript库SandboxManager在代码中动态初始化与封装命令。
据Anthropic内部报告,该沙箱在Claude Code中将开发者权限确认提示减少了84%(属自报数据,非第三方基准测试),目标是缓解‘审批疲劳’——即开发者因频繁点击‘允许’而忽视实际风险。但其安全有效性高度依赖allowlist设计:过于严格(如仅允api.github.com)会导致npm install失败;过于宽松(如*.com)则可能造成数据外泄。为此srt提供多项调节机制:通配符与端口指定、未命中域名的ask回调(返回可被模型理解的理由)、单次调用临时注册、运行时通过--control-fd热更新规则、以及向代理返回拒绝原因(如建议改用HTTPS git远程地址)。
目前srt仍为beta研究预览版,Windows支持尚不成熟,且所有性能与效果数据均源于Anthropic内部场景,未披露外部验证细节。其技术定位区别于传统容器沙箱,更贴近底层系统能力,适用于需低开销、高可控性的本地AI代理开发与MCP(Model Control Protocol)服务部署场景。项目源码、工程文档及Claude Code沙箱说明已在GitHub公开。