anthropics/sandbox-runtime

A lightweight sandboxing tool for enforcing filesystem and network restrictions on arbitrary processes at the OS level, without requiring a container.

解决的问题

Anthropic Sandbox Runtime (srt) 提供了一种在安全、受限的环境中运行任意进程的方法——例如 AI 代理、bash 命令或 Model Context Protocol (MCP) 服务器。它能防止这些进程访问敏感文件或发出未经授权的网络请求,而无需设置完整的容器环境。

工作原理

该工具使用原生的操作系统级沙盒原语,对整个进程树强制执行限制:

  • macOS: 使用 sandbox-exec 搭配动态生成的 Seatbelt 配置文件。
  • Linux: 使用 bubblewrap 进行容器化和网络命名空间隔离。
  • Windows: 在专用的 srt-sandbox 本地用户账户下运行进程,并搭配 Windows Filtering Platform (WFP) 出口防护。

它采用了双重隔离模型

  • 文件系统隔离: 读取操作使用“先拒绝后允许”模式(默认允许,拒绝特定路径),写入操作使用“仅允许”模式(默认拒绝,必须明确允许特定路径)。
  • 网络隔离: 默认拒绝所有网络访问。允许的域通过主机端代理服务器(HTTP/HTTPS 和 SOCKS5)进行路由,以强制执行允许列表和拒绝列表。

适用对象

构建代理系统或使用 MCP 服务器,且需要确保 AI 驱动的代码执行默认安全,并限制在特定目录和域中的开发者。

亮点

  • 默认安全: 进程以最低访问权限启动,需要明确配置才能获得权限。
  • 跨平台: 原生支持 macOS、Linux 和 Windows。
  • 灵活配置: 支持 macOS 上文件系统路径的通配符模式,以及详细的域级网络过滤。
  • 违规监控: macOS 上的沙盒违规实时警报。
  • 库与 CLI: 同时提供独立的命令行工具和 TypeScript 库。

相关

  • 项目
  • 项目
  • 项目
  • 项目