
字节笔记本
2026年10月8日 · 约 4 分钟读完
给 agent 上双重锁:Strands Box 把权限写到语义层
agent 沙箱的常见做法是操作系统隔离:围栏拉起来,agent 出不去。AWS Strands 团队 10 月 7 日开源的 Strands Box 在围栏之内又加了一层语义锁:一条叫 Dogwood 的策略语言,能写出读客户数据后禁止外发 HTTP、每十分钟最多发三条 Slack 消息这类带因果和时间的规则。项目 Apache 2.0 协议、开发者预览阶段,仓库在 strands-agents/box,Rust 编写。

项目简介
Strands Box 与我们九月末介绍过的 Strands Agents SDK 同出一门,但定位不同:SDK 是造 agent 的框架,Box 是关 agent 的沙箱,而且刻意做成 harness 无关,agent 程序随便你选,Box 只负责圈地与执法。架构是两层。外层是操作系统级围栏,用 macOS 的 Seatbelt 机制在主机侧划死文件系统可达范围与网络边界,先兜住硬底线。内层是 Dogwood 策略引擎:基于 Cedar 语法的开源策略语言,默认拒绝语义,规则用 permit 与 forbid 表达,可以引用操作参数、agent 的历史事件和流逝时间,forbid 命中即覆盖 permit。判定由运行在沙箱之外的可信进程执行,agent 改不动自己的裁判。

核心功能
执法点布了四处:Strands Shell 解释器逐条过 shell 命令,Monty 解释器管 Python 代码执行,出网网关以代理形态看见每个连接的主机、端口、方法与路径,MCP 代理对工具调用与参数逐个检查。四路事件(文件读写、HTTP 请求等)汇入同一份共享历史,这正是语义策略能写因果规则的前提:早先的动作会改变后续权限。凭证处理是另一个亮点:agent 环境里只有占位 token,真实密钥由网关在出口处动态附加,支持 Bearer、自定义头、HTTP Basic、查询参数和 AWS SigV4,密钥全程不落 agent 手。所有判定记录以 OTLP JSON 落盘,审计与回放都有据可查。仓库里还附带一个策略编写 agent skill,让编码 agent 帮你写自己的围栏规则。

快速上手
两个文件起项目:box.toml 写 agent 命令、工作区、文件读写清单、MCP 服务与出网目的地;policy.dw 写 Dogwood 规则。安装一条命令:
curl -fsSL https://raw.githubusercontent.com/strands-agents/box/main/download.sh | sh
box run --config box.toml当前要求 macOS 15 以上 Apple Silicon,Node 22.21 起,Linux 支持在路线图上。
适合谁用
在本地跑带工具权限 agent 的开发者与平台团队是第一受众,尤其是要过安全评审的企业场景:共享事件史加可回放判定记录,正好补上审计材料。边界也要看清:仓库只有 3 个提交、百余星,开发者预览的成熟度;Linux 未支持前,服务器侧部署只能观望。把它与本周的 OpenAI 事件复盘并读更有味道:研究环境断实时联网是事后补救,语义策略是事前立法,两条路线最终会合流。



