Anthropic 沙箱 Srt 开源:不用容器,也能管住 Agent 的文件和网络

机智流 2026-10-23 22:51
Anthropic 沙箱 Srt 开源:不用容器,也能管住 Agent 的文件和网络图1

封面:Anthropic 工程博客《Claude Code Sandboxing》官方头图

先认识一下Anthropic:做 Claude 系列大模型的那家美国 AI 公司,自家还有编程助手 Claude Code。智能体一旦能跑命令、读写文件、上网,安全问题就从「别胡说」变成了「别乱碰」。

标题里的 Srt,就是他们刚拆出来开源的 sandbox-runtime(全称 Anthropic Sandbox Runtime / ASRT,命令行 srt):把 Claude Code 里那套隔离能力做成独立包,不靠 Docker 容器,直接用操作系统自带的沙箱原语,给任意进程套上文件和网络边界。仓库标签是 Beta Research Preview;我们拉到的当前版本是 0.0.81,协议 Apache-2.0,GitHub 上约 5700 star。

Anthropic 沙箱 Srt 开源:不用容器,也能管住 Agent 的文件和网络图2

Anthropic 官网品牌图(anthropic.com)

• 项目地址(GitHub)

https://github.com/anthropics/sandbox-runtime

• npm 包 @anthropic-ai/sandbox-runtime

https://www.npmjs.com/package/@anthropic-ai/sandbox-runtime

Anthropic 沙箱 Srt 开源:不用容器,也能管住 Agent 的文件和网络图3

仓库卡片(数据来自 GitHub API:stars / forks / issues / 版本)

Anthropic 沙箱 Srt 开源:不用容器,也能管住 Agent 的文件和网络图4

源码 package.json:包名、版本、CLI 入口 srt

它到底解决什么问题

智能体、本地 MCP Server、随便一条 bash,权限往往过大:能读 ~/.ssh,也能往外网随便连。srt 的默认哲学很硬:先几乎什么都不给,再只开你点名的洞。

• 网络:默认全禁。要上网就写进 allowedDomains;空名单 = 完全断网。

• 写文件:默认几乎不能写。必须显式 allowWrite(比如当前目录、/tmp)。

• 读文件:默认较宽,但可用 denyRead 挡敏感路径;还能在被挡的大目录里再 allowRead 挖小口。

官方强调「双隔离」:只有文件限制、没有网络限制,进程可能把密钥偷出去;只有网络限制、没有文件限制,照样能读到 SSH 私钥。两边一起上,才像沙箱。

Anthropic 沙箱 Srt 开源:不用容器,也能管住 Agent 的文件和网络图5

官方架构图:进程树套 OS 沙箱,网络统一走宿主机代理。图源:Anthropic 工程博客 / README

源码里看到的三端做法

仓库主体是 TypeScript。入口 src/cli.ts 提供命令行,src/sandbox/sandbox-manager.ts(三千多行)是调度中枢:起 HTTP / SOCKS 代理、装配置、按平台把命令包进沙箱。真正「关笼子」的逻辑在三个文件里。

• Linux:linux-sandbox-utils.ts 调 bubblewrap(bwrap)。要限网时先 --unshare-net,等于把网卡拔掉;再把宿主机上的代理 Unix 套接字 bind 进沙箱,进程只能通过代理「借网」。另有 seccomp 辅助挡 Unix 套接字旁路。

Anthropic 沙箱 Srt 开源:不用容器,也能管住 Agent 的文件和网络图6

源码:Linux 网络隔离——先 --unshare-net,再绑定代理套接字

• macOS:动态拼 Seatbelt 配置文件,交给 /usr/bin/sandbox-exec。开头就是 (deny default),再按需放行进程、Mach 服务,网络只允许连本机代理端口。

Anthropic 沙箱 Srt 开源:不用容器,也能管住 Agent 的文件和网络图7

源码:macOS Seatbelt 配置开头——默认拒绝

• Windows:单独用户账号 srt-sandbox + Windows Filtering Platform(WFP) 出站围栏,再配合受限令牌和目录 ACL。需要先跑一次 srt windows-install(会弹 UAC)。

Anthropic 沙箱 Srt 开源:不用容器,也能管住 Agent 的文件和网络图8

官方示意:文件系统规则 + 网络代理两条线。图源:Anthropic

网络不是「防火墙规则」,是「本机代理审单」

三端共同点:沙箱里的进程自己不直连公网,流量被赶到宿主机上的 HTTP / SOCKS 代理。代理按域名白名单 / 黑名单放行,还能挂 ask 回调——名单没写到的域名,问你一句再决定。

源码里还有个细节:代理会生成一次性的 proxyAuthToken,只写进沙箱子进程的环境变量。意思是:就算有人在宿主机上乱连 127.0.0.1:代理端口,没有这个 token 也过不了滤网。

Anthropic 沙箱 Srt 开源:不用容器,也能管住 Agent 的文件和网络图9

源码注释:proxyAuthToken 防止宿主机进程偷用代理

另外还有独立模式 srt proxy(可编译成 srt-proxy):只跑代理,工作负载可以在别的 VM / 容器里;每次转发前问外部「裁决进程」(decider)。适合把策略和执行拆到两个进程。

怎么用:命令行、配置、当库

全局安装后,前面加个 srt 就行:

Anthropic 沙箱 Srt 开源:不用容器,也能管住 Agent 的文件和网络图10

README 示例:域名白名单与 ~/.ssh 只读限制的实际表现

默认读 ~/.srt-settings.json。文件不存在时用内置默认(断网、写路径很严);文件存在但坏了 / 校验失败,srt 直接报错退出,不会偷偷退回默认——因为退回等于丢掉你写的 denyRead、凭证规则,比「宽松一点」更糟。

Anthropic 沙箱 Srt 开源:不用容器,也能管住 Agent 的文件和网络图11

README 完整配置示例(节选):域名、读写、Unix 套接字

嵌进自己的 Node 程序时,调 SandboxManager.initialize 再 wrapWithSandbox;跑完记得 reset。

Anthropic 沙箱 Srt 开源:不用容器,也能管住 Agent 的文件和网络图12

README:库用法——initialize → wrapWithSandbox → spawn

跑命令期间还能用 --control-fd 喂 JSON 行热更新配置:网络名单可以立即生效;文件系统规则已经写进 Seatbelt / bwrap / ACL,运行中改不了。控制通道的 fd 在沙箱里会被换成 /dev/null,防止里面的进程改自己的笼子。

一个很实用的场景:给 MCP 套笼子

README 把 MCP 当重点用例:本来 npx @modelcontextprotocol/server-filesystem 权限很大,改成用 srt 当 command,后面参数照旧,再在 settings 里限制写路径。智能体就算喊「写入敏感目录」,也会被 OS 挡回来。

Anthropic 沙箱 Srt 开源:不用容器,也能管住 Agent 的文件和网络图13

README:.mcp.json 里把 MCP Server 包进 srt

凭证怎么藏

配置里有 credentials 一节:可以 deny 读某些文件、清空环境变量,或在 Linux 上把真实文件 bind-mount 成「哨兵假文件」。代理侧还能在 TLS 终结后,按策略把真实密钥注入到出站请求(含 AWS SigV4 重签),让沙箱内进程自己碰不到明文密钥,但合法 API 仍能过。这条链路偏高级,接之前建议先读源码里的 credential-mask-*.ts 和 http-proxy.ts。

别当银弹

• 官方自己标了 Beta Research Preview,API 和配置格式还可能变。

• 允许 docker.sock 这类 Unix 套接字,等于把宿主机后门打开——文档写得很直白。

• 域名白名单不等于「只能访问某个 API」:放行 github.com 就能推任意仓库;要细到 HTTP 路径,得自己上 MITM / 过滤回调。

• Windows 路径依赖 WFP + 专用账号,文档也列了已知局限(换 token、系统服务代发流量等)。

一句话:srt 把「智能体别乱动」从应用层提示词,下沉到了操作系统。对做 Agent / MCP / 本地自动化的人,这是一块能直接拧上的底层螺丝;对只聊天的用户,知道 Claude Code 背后有这层笼子就够了。

说明:版本与 star 数取自 2026-10-23 拉到的仓库与 GitHub API;架构图来自 Anthropic 工程博客 / README 官方素材;代码截图为仓库源码高亮渲染,非 AI 生图。本文只做草稿预览,未群发。

相关链接

• GitHub:anthropics/sandbox-runtime

https://github.com/anthropics/sandbox-runtime

• npm:@anthropic-ai/sandbox-runtime

https://www.npmjs.com/package/@anthropic-ai/sandbox-runtime

• Anthropic 工程博客:Claude Code Sandboxing

https://www.anthropic.com/engineering/claude-code-sandboxing

• Claude Code 沙箱文档

https://docs.claude.com/en/docs/claude-code/sandboxing

• 仓库文档:srt-proxy

https://github.com/anthropics/sandbox-runtime/blob/main/docs/srt-proxy.md

关于科技区角:国内科技展会垂直内容策划服务商,提供从论坛内容全案策划、会展市场化IP打造到精准专业观众一站式邀约服务,以产业内容吸引高质量B端人群,打通展会从议题设计、演讲嘉宾邀约、宣传预热、精准邀观到供需对接全链路。
声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。
IC 开源
more
ICCAD-E 七大亮点全新升级!
被迫下场,Anthropic 推出个人 AI 助理 Claude Duet
苹果官宣 Apple Music 全新视觉!附免费体验活动,最高可得 2 个月会员
端侧 AI 开发板能买了:谷歌 Coral NPU 开源收官,Synaptics 出 MCU
从硬件到AI CAD:Mach9 Robotics如何以3400万美元重塑基建测绘流程
Anthropic IPO前夕遭遇算力瓶颈:巨额亏损下,云厂商从“伙伴”变“对手”
Anthropic,半年亏损超800亿美元
Industrial Analytics推出OPTIFICIENT™软件解决方案,助力暖通空调系统实现节能降耗并降低运营成本
Anthropic 公益报告:AI 公司给自己打分,还主动交代了哪些没做好
Anthropic首发公益报告,自曝「人类拯救计划」!
Copyright © 2025-成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号