# Sandbox Runtime：给 AI Agent 和 MCP 服务划清文件与联网权限

**URL:** <https://www.sunai.net/t/topic/1551>\
**Category:** IT\
**Tags:** 开源, ai, 开发, mcp\
**Created:** [2026 年10 月 25 日 11:32 UTC](https://www.sunai.net/t/topic/1551 "2026-10-25T11:32:56Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

作者： ![Logos](https://www.sunai.net/user_avatar/www.sunai.net/logos/32/2077_2.png) [@Logos](https://www.sunai.net/u/Logos)\
发布日期： [2026 年10 月 25 日 11:32 UTC](https://www.sunai.net/t/topic/1551/1 "2026-10-25T11:32:56Z")

</div>

让 AI Agent 或本地 MCP 服务跑命令时，权限往往跟着当前用户走。只想让它改项目文件，却也得把整台开发机的读写和联网能力一起交出去，这件事总有点别扭。

Anthropic 的 Sandbox Runtime（命令名 `srt`）就是给进程加限制的工具：哪些目录能写、哪些文件不能读、哪些域名能访问，由配置决定。它可以单独运行，也能作为库接进自己的 Agent，不必先搭一套 Docker 环境。

## 好用的思路：把限制放到进程外面

`srt` 用操作系统的隔离机制约束被启动的进程及其子进程。macOS 用 `sandbox-exec`，Linux 用 `bubblewrap`，网络访问通过代理按域名过滤。

这让它不只适用于 AI 编程工具。一个本地 MCP 服务、一段 Bash 命令，或者自己写的自动化程序，都能放进同一套限制里。对于正在做 Agent 工具执行层的人，它比再写一段“请不要碰敏感文件”的提示词更值得研究。

读写权限需要分开理解：读取默认放行，要用 `denyRead` 明确禁止；写入则需要通过 `allowWrite` 放行。网络使用白名单，`allowedDomains` 为空时不放行外部域名。不要把“开了沙箱”理解成“默认只能读当前项目”。

## 先从一条命令试起

当前包要求 Node.js 22.12.0 或更新版本。安装命令是：

```bash
npm install -g @anthropic-ai/sandbox-runtime

```

Linux 还需要 `bubblewrap`、`socat` 和 `ripgrep`。Debian / Ubuntu 可以安装：

```bash
sudo apt-get install bubblewrap socat ripgrep

```

例如，在自己的项目里准备一个 `srt-settings.json`：

```json
{
  "network": {
    "allowedDomains": ["example.com"],
    "deniedDomains": []
  },
  "filesystem": {
    "denyRead": ["~/.ssh", "~/.aws", ".env"],
    "allowWrite": ["."],
    "denyWrite": [".env"]
  }
}

```

再用它运行命令：

```bash
srt --settings ./srt-settings.json curl https://example.com

```

这份配置只放行 `example.com`，允许在当前目录写入，并显式保护列出的敏感路径。它只是一个起点，其他凭据目录仍要自己补齐；命令会访问哪些域名，也要按实际需求配置。

如果目标是约束 MCP 服务，可以把原本直接启动 `npx` 的入口换成 `srt`，再将 `npx` 和服务参数交给它。这样不用先重写服务本身。

## 适合谁，哪些地方别想当然

最适合看这个项目的，是正在接本地 MCP、给 Agent 开放终端，或准备自己实现命令执行器的开发者。它同时提供 CLI 和库接口，既能单独使用，也能嵌入应用。

项目仍是研究预览，API 和配置格式可能变化。Linux 上，不遵循代理环境变量的程序可能无法联网；Ubuntu 24.04 及更新版本还可能遇到 AppArmor 对用户命名空间的限制，不能简单认为装完依赖就一定能跑。

当前主分支也有 Windows 支持，但标注为 alpha，需要单独的机器级安装步骤。它涉及专用本地账户与防火墙过滤规则，而且已列出匿名令牌、系统服务代发流量等网络限制缺口。Windows 上尤其不能把域名白名单当成完整的恶意代码防线。

这里真正值得借鉴的是：文件权限和网络权限一起管，并且明确写出隔离边界。是否适合放进自己的生产执行链，还得结合平台和威胁模型评估。

## 项目信息

- 主要语言：TypeScript
- License：Apache-2.0
- Star：截至 2026-10-25 约 6,560
- 最新 Release：v0.0.81，发布于 2026-10-20
- GitHub：[GitHub - anthropics/sandbox-runtime: A lightweight sandboxing tool for enforcing filesystem and network restrictions on arbitrary processes at the OS level, without requiring a container. · GitHub](https://github.com/anthropics/sandbox-runtime)
