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 库。
相关
- 项目
- 项目
- 项目
- 项目