box 是什么?为 AI agent 提供操作系统级隔离与策略管控的开源沙箱引擎
中文导读
box 是开源项目,站内分类为 MCP 工具。简介:为 AI agent 提供操作系统级隔离与策略管控的开源沙箱引擎。项目说明中列出的主要功能包括:通过 box.toml 限制 agent 的文件、程序和网络直接访问,由操作系统强制执行;使用 Dogwood 的 permit/forbid 规则编写语义与时间相关策略,默认拒绝;Strands Shell、Monty for Python、egress gateway 和 MCP broker 共用同一策略引擎与事件历史。需要在受控环境中运行 AI agent 的开发者与安全工程师,尤其是关注 agent 权限边界和凭据隔离的团队。
根据 GitHub 公开数据,该项目的编程语言为 Rust,开源协议为 Apache-2.0,创建于 2026-10-02,最近更新于 2026-10-15,目前有 408 个 Star。
项目介绍
Strands Box 是一个面向 AI agent 的开源沙箱引擎,用 Rust 编写。它把操作系统隔离与用 Dogwood 编写的语义策略结合起来,用来限制 agent 能执行什么、读写哪些文件、以及能访问哪些网络资源。Box 与具体 agent 框架无关,你只需指定要运行的 agent 程序,在 box.toml 中配置访问权限,在 policy.dw 中编写策略。
Box 的强制检查在 agent 进程之外完成。Strands Shell、Monty for Python、egress gateway 和 MCP broker 会把各自处理的操作交给内嵌的 Dogwood Local Engine 评估,默认拒绝,只有匹配 permit 规则才放行,forbid 规则可覆盖许可。这些组件共享同一份事件历史,因此较早的操作可以影响后续决策,例如一次文件读取可能导致之后的 HTTP 请求被拒绝。
目前 Box 处于预览阶段,支持 Apple 芯片的 macOS 本地运行,Linux 支持在计划中。
主要功能
- 通过 box.toml 限制 agent 的文件、程序和网络直接访问,由操作系统强制执行
- 使用 Dogwood 的 permit/forbid 规则编写语义与时间相关策略,默认拒绝
- Strands Shell、Monty for Python、egress gateway 和 MCP broker 共用同一策略引擎与事件历史
- egress gateway 检查连接和 HTTP 请求的方法与路径,MCP 集成检查工具调用及其参数
- 凭据注入:由网关为被允许的请求添加 API 凭据或 AWS SigV4 签名,agent 不接触原始密钥
- 策略决策以 OTLP JSON 记录,默认写入 <box_dir>/private/telemetry/records.jsonl
适合谁用
需要在受控环境中运行 AI agent 的开发者与安全工程师,尤其是关注 agent 权限边界和凭据隔离的团队。
快速上手
- 确认环境:Apple 芯片 Mac、macOS 15 或更高版本、Homebrew 安装的 Node.js 22.21 或更高版本,并能访问 us-west-2 的 Claude Opus 5 on Amazon Bedrock
- 下载并校验二进制:curl -fsSL https://raw.githubusercontent.com/strands-agents/box/main/download.sh | sh
- 验证版本:./box-core/box --version
- 按照 getting-started 指南编写 box.toml 和 policy.dw,然后运行 box
- 如需从源码构建:git clone https://github.com/strands-agents/box.git && cd box && cargo build --release -p strands-box -p strands-box-containment