Strands Box logo

Strands Box

打开

面向 AI Agent 的开源沙箱引擎,用操作系统隔离和策略规则约束工具、网络访问与 MCP 调用。

分享:
查看替代方案

Strands Box

Strands Box 是一个采用 Apache-2.0 许可的开源 AI Agent 沙箱引擎。它要解决的是一个很实际的缺口:Agent 能调用工具,不等于操作者愿意让它无限制地接触文件、网络和凭据。Box 不绑定某一种 Agent 框架,而是把选定的 Agent 程序放进操作系统隔离环境,并在进程外再执行一层策略检查。

官方将它标为仅面向 Apple Silicon Mac 本地执行的预览版。这个限制很关键:它是早期开发者安全工具,不能被当作已经覆盖所有平台的生产级沙箱。

它管什么

Box 将控制分为两层。box.toml 在工作负载启动前声明直接文件系统访问权限,由 macOS 执行;policy.dw 则使用 Dogwood 策略语言,检查通过 Box 可信组件发起的动作,包括 Strands Shell、面向 Python 的 Monty、出口网关和 MCP broker。这些进入策略引擎的操作默认拒绝,必须匹配 permit 规则;任何 forbid 规则都能覆盖已有许可。

这能落到具体工作流:让编码 Agent 读取已检出的仓库,把 HTTP 请求经过出口网关,并只允许指定 API 终点。请求被允许后,网关可以附加配置好的凭据或 AWS SigV4 签名,Agent 进程本身拿不到秘密。MCP broker 也可以评估指定的工具调用及参数。

各组件共享事件历史。因此策略可以让后续网络请求依赖先前动作,例如通过受管 shell 或 Python 解释器读取过文件后再决定是否出网。Box 还会把策略决策记录成 OTLP JSON,便于操作者在 Agent 任务结束后复核。

快速开始

官方快速开始目前要求 Apple Silicon Mac、macOS 15 或更高版本、通过 Homebrew 安装的 Node.js 22.21 或更高版本,以及 Amazon Bedrock us-west-2 中的 Claude Opus 5 访问权限。项目提供会校验校验和的下载脚本:

curl -fsSL https://raw.githubusercontent.com/strands-agents/box/main/download.sh | sh
./box-core/box --version

下载后的二进制需要放在一起。然后在 box.toml 定义运行环境和直接授权,在 policy.dw 写入受管操作的规则。先只给很窄的路径和域名,跑一个小型 Agent 任务,再看决策日志,最后才逐步放宽规则。

限制与安全提示

Box 不能替代对配置的审查。box.toml 中直接授予的路径不会产生逐次策略决策;过宽的读取规则可能接触敏感路径,所以官方安全文档建议所有文件规则都带路径条件。云元数据保护也需要明确写入策略,并非自动开启。最后,策略只约束经过 Box 受管组件的操作,绕开这些组件的工具不在该层决策日志之内。

替代方案

  • E2B 是托管式代码执行沙箱。
  • Daytona 为 Agent 工作负载提供开发环境。
  • Strands Harness 提供 Agent harness,Box 的重点则是限制执行边界。

总结

当本地 Agent 需要对文件、工具、网络请求和 MCP 调用建立可复核的边界时,Strands Box 值得评估。它的关键差异是把策略执行放在 Agent 进程外;但预览状态和平台范围意味着团队应先验证自己的威胁模型与配置,再把它用于关键工作流。

评论

还没有评论。成为第一个评论的人!