AB
AiBoss站
project

box - 面向 AI 智能体的开源沙箱引擎

box 是 strands-agents 维护的开源 AI 智能体沙箱引擎,把操作系统级隔离与用 Dogwood 编写的语义策略结合起来,控制智能体能访问什么、在什么条件下行动。项目自述其当前为预览状态,仅支持 Apple 芯片的 macOS 本地执行。

box 是 strands-agents 维护的一个开源沙箱引擎,目标是为 AI 智能体提供受控的执行环境。它把操作系统层面的隔离与用 Dogwood 语言编写的语义策略结合起来,让使用者既能限制智能体可以直接触碰的资源,也能规定它在什么条件下才被允许执行某个操作。据项目自述,box 不绑定特定的智能体框架(harness-agnostic):由使用者自己决定运行哪个智能体程序或二进制文件,在 box.toml 里配置它的访问权限,在 policy.dw 里写它的策略。它适合需要在本地跑智能体、同时又希望对文件、程序与网络访问施加细粒度约束的开发者与安全工程人员。

维护者与状态

box 由 strands-agents 维护,仓库创建于 2026-10-02,最后提交时间为 2026-10-09。最新 release 为 v0.1.0,发布于 2026-10-07。截至 2026-10-09,仓库星标数为 238。项目官网为 strandsagents.com。从版本号与时间线看,这是一个刚刚起步的项目,项目自述中也明确标注当前处于预览(Preview)阶段。

主要能力

以下能力来自项目自述,属于维护者对自身功能的描述,并非第三方评测结论。

  • 文件、程序与网络限制。 智能体所处的沙箱会限制它的直接访问范围,box 会在启动时报告当前配置了哪些授权。
  • 语义策略与时间策略。 Dogwood 规则可以依赖被请求的操作本身、它的参数、此前的动作以及已经流逝的时间。据项目说明,凡是被策略引擎检查的操作默认拒绝,必须有匹配的 permit 规则放行;匹配的 forbid 规则会覆盖该许可。
  • 跨代码与工具的统一策略。 Strands Shell、Monty for Python、出口网关(egress gateway)与 MCP broker 共用同一个策略引擎和事件历史。项目举的例子是:一次经由 Shell 或 Python 完成的文件读取,可以导致网关随后拒绝一次对外的 HTTP 请求。
  • 请求与工具调用检查。 出口网关会检查连接与 HTTP 请求,包括请求方法与路径;MCP 集成会检查已配置的工具调用及其参数。
  • 凭据注入。 网关会用配置好的 API 凭据或 AWS SigV4 签名来认证被放行的请求,智能体本身拿不到底层密钥。
  • 决策记录。 box 以 OTLP JSON 记录策略决策,默认写入 /private/telemetry/records.jsonl。项目同时提醒,box.toml 里的直接文件系统授权由操作系统执行,不会产生单独的 Dogwood 决策;若想让策略作用于文件操作,应使用解释器并把这些文件排除在智能体的直接授权之外。

在架构上,box 把 Dogwood 本地引擎与执行组件放在自己的进程里,位于智能体沙箱之外。智能体可以调用 box 的解释器,但外部程序与本地 MCP 服务器不能;box 接收它们的输出与退出状态,它们的网络流量默认经过 box 的网关。

使用入口

仓库地址:https://github.com/strands-agents/box。项目官网:https://strandsagents.com。

据项目说明,入门需要一台 Apple 芯片的 Mac、macOS 15 或更高版本、来自 Homebrew 的 Node.js 22.21 或更高版本,以及 us-west-2 区域 Amazon Bedrock 上 Claude Opus 5 的访问权限。下载脚本会校验 release 校验和并把二进制解包到 ./box-core,不会改动 PATH 或系统目录:

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

项目提醒下载后的二进制要放在同一个 ./box-core 目录中。也可以从源码构建:这是一个 Cargo workspace,rust-toolchain.toml 固定了编译器版本,首次构建时由 rustup 安装。常见任务通过 just 执行,例如 just build、just test、just check、just test-all;完整测试套件用 cargo test --workspace --all-features 运行,其中 --all-features 会带上需要 test-support 特性的 box_shell 与 box_credentials 套件。

配置方面,改 box.toml 可以调整智能体的环境与直接访问授权,改 policy.dw 可以调整 box 通过解释器和网关检查的操作规则。项目还提供了一个策略编写技能文件,供编码智能体参考 Dogwood 语法与 box 支持的动作。

许可与限制

box 使用 Apache-2.0 许可证。

限制方面,项目自述当前为预览状态,只支持在 Apple 芯片的 macOS 上本地执行,并欢迎通过 GitHub issues 反馈。提交改动前需要先阅读 CONTRIBUTING.md;若怀疑存在安全问题,项目要求先阅读 SECURITY.md 再开 issue。此外,直接写在 box.toml 里的文件系统授权由操作系统执行,不产生 Dogwood 决策记录,这一点在使用策略控制文件访问时需要特别注意。