Anthropic Sandbox Runtime
概述
Anthropic Sandbox Runtime(srt)是一款轻量级的操作系统级沙箱隔离工具,无需容器即可对任意进程强制施加文件系统和网络限制。该工具由 Anthropic 以研究预览版形式发布,主要用于对 Model Context Protocol(MCP)服务器进行沙箱隔离,从而限制其能力——限定服务器可读写的文件范围以及可访问的网络端点——同时避免完整容器运行时带来的额外开销。
该工具以 npm 包(@anthropic-ai/sandbox-runtime)形式发布,GitHub 约有 4.1k Star,采用 Apache-2.0 许可证,面向希望对智能体所调用工具进行更严格管控的开发者。
核心特性
- 文件系统隔离 — 读取操作采用"默认拒绝、按需放行"策略;写入操作采用"仅允许"模式;支持路径级别的细粒度配置
- 网络隔离 — 采用"仅允许"模式,通过 HTTP/SOCKS5 代理对流量进行过滤,代理分别绑定到本地端口(macOS)或 Unix 套接字(Linux);屏蔽所有未列入白名单的域名
- Unix 套接字控制 — 限制进程对本地 IPC 套接字的访问
- 违规监控 — 实时告警沙箱突破行为(macOS);提供事件日志供违规取证使用
架构
该沙箱使用原生操作系统原语,而非容器化方案,因此开销更低:
| 平台 | 实现机制 | 网络过滤方式 |
|---|---|---|
| macOS | sandbox-exec 配合动态生成的 Seatbelt 安全配置文件 |
HTTP 和 SOCKS5 代理绑定到本地端口 |
| Linux | bubblewrap 配合网络命名空间隔离 |
HTTP 和 SOCKS5 代理绑定到 Unix 套接字 |
| Windows | 暂不支持 | — |
两个平台均采用双层防护:第一层在操作系统层面强制执行限制策略;第二层通过代理对通过第一层的网络流量实施过滤。
代码库同时提供 CLI 工具和可复用库两种形式,支持以编程方式集成到智能体运行框架(harness)中。
主要应用场景——MCP 服务器沙箱隔离
MCP 服务器是智能体调用以获取工具和资源的第三方进程。若不加沙箱隔离,被攻陷或行为异常的 MCP 服务器可能:
- 从宿主文件系统中窃取数据
- 向任意网络端点回传信息
- 超出智能体预期授权范围,提升自身能力
使用 srt 包装每个 MCP 服务器,可在操作系统层面施加最小权限(least privilege)信封:无论智能体向服务器发送何种指令,该服务器进程只能访问策略中明确允许的文件系统路径和网络目标。
安装
npm install -g @anthropic-ai/sandbox-runtime
Linux 系统需要预先安装 bubblewrap、socat 和 ripgrep 作为系统依赖。
最佳实践
| 挑战 | 描述 | 解决方案 |
|---|---|---|
| MCP 服务器权限过大 | MCP 服务器以宿主操作系统进程身份运行,拥有调用方用户的完整权限 | 使用 srt 包装每个 MCP 服务器进程;定义路径和域名的明确白名单 |
| 横向文件访问 | 被攻陷的 MCP 工具读取其预期范围之外的文件 | 配置"默认拒绝、按需放行"文件系统策略,作用范围仅限于项目目录 |
| 意外数据外泄 | 智能体工具将数据发送到非预期的远程端点 | 启用网络"仅允许"模式;仅列出该工具预期访问的端点 |
| 违规盲区 | 沙箱突破行为静默发生,导致取证困难 | 启用违规监控;将告警接入可观测性(Observability)平台 |
| 避免容器开销 | 完整的 Docker/OCI 容器对于单工具级隔离过于沉重 | srt 使用操作系统原生原语(Seatbelt / bubblewrap),实现轻量级的进程级隔离 |
与更广泛安全架构的关系
srt 解决的是特定层面的问题:MCP 调用进程的执行信封隔离。它与以下机制互为补充,但并不取代它们:
- 输入/输出过滤 — 智能体边界处仍需进行过滤,以防御提示词注入(prompt injection)
- 身份与凭证管理 —
srt不负责管理密钥或身份认证 - 策略引擎(如 Microsoft AGT)——在操作系统层之上运行的确定性预执行策略检查
- 可观测性 — 将智能体工具调用的链路追踪与
srt违规日志结合分析,以实现完整的审计覆盖
参见
- 智能体沙箱隔离——跨厂商概览
- Model Context Protocol(MCP)
- 智能体安全——生产环境最佳实践
- 智能体 AI 安全概述
- 智能体治理工具包(Microsoft)
- Anthropic——智能体 AI 概述
参考资料
- anthropic-experimental/sandbox-runtime — GitHub 仓库;Apache-2.0 许可证;约 4.1k Star;针对 MCP 服务器的操作系统级进程沙箱隔离研究预览版