跳转至

Anthropic Sandbox Runtime

概述

Anthropic Sandbox Runtimesrt)是一款轻量级的操作系统级沙箱隔离工具,无需容器即可对任意进程强制施加文件系统和网络限制。该工具由 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 系统需要预先安装 bubblewrapsocatripgrep 作为系统依赖。

最佳实践

挑战 描述 解决方案
MCP 服务器权限过大 MCP 服务器以宿主操作系统进程身份运行,拥有调用方用户的完整权限 使用 srt 包装每个 MCP 服务器进程;定义路径和域名的明确白名单
横向文件访问 被攻陷的 MCP 工具读取其预期范围之外的文件 配置"默认拒绝、按需放行"文件系统策略,作用范围仅限于项目目录
意外数据外泄 智能体工具将数据发送到非预期的远程端点 启用网络"仅允许"模式;仅列出该工具预期访问的端点
违规盲区 沙箱突破行为静默发生,导致取证困难 启用违规监控;将告警接入可观测性(Observability)平台
避免容器开销 完整的 Docker/OCI 容器对于单工具级隔离过于沉重 srt 使用操作系统原生原语(Seatbelt / bubblewrap),实现轻量级的进程级隔离

与更广泛安全架构的关系

srt 解决的是特定层面的问题:MCP 调用进程的执行信封隔离。它与以下机制互为补充,但并不取代它们:

  • 输入/输出过滤 — 智能体边界处仍需进行过滤,以防御提示词注入(prompt injection)
  • 身份与凭证管理srt 不负责管理密钥或身份认证
  • 策略引擎(如 Microsoft AGT)——在操作系统层之上运行的确定性预执行策略检查
  • 可观测性 — 将智能体工具调用的链路追踪与 srt 违规日志结合分析,以实现完整的审计覆盖

参见

参考资料