Repolode
strands-agents

strands-agents/box

AIエージェントが実行・読み取り・書き込み・ネットワーク接続できる対象をデフォルト拒否ポリシーで制限する、オープンソースのサンドボックスエンジン。

スター
500
フォーク
41
未解決の Issue
92
最終コミット
17 時間前

これは何?

Strands Boxは、OSサンドボックス内でAIエージェントを実行し、Dogwoodで記述するセマンティックポリシーを適用します。ファイル、プログラム、ネットワークへのアクセスはbox.tomlで設定し、policy.dwのルールで、引数、過去の操作、経過時間に基づいて許可する操作を決定します。ポリシーエンジンによるチェック対象の操作は、permitルールで許可されない限り拒否され、forbidルールはpermitより優先されます。

ポリシーエンジンはエージェントプロセスの外部にあります。Strands Shell、Python向けのMonty、egress gateway、MCP brokerが操作をポリシーエンジンに送るため、あるインタープリター経由でのファイル読み取りが、後続の外部HTTPリクエストを許可するかどうかに影響することがあります。gatewayは、許可されたリクエストにAPI認証情報やAWS SigV4署名を付与できるため、エージェントに秘密情報そのものを渡さずに済みます。ポリシーの判定結果はOTLP JSONで記録されます。

Boxはハーネスに依存しないため、実行するエージェントプログラムやバイナリを選べます。Rust製のプロジェクトで、現在はプレビュー段階です。ローカル実行はApple silicon搭載のmacOSに限られており、Linuxのサポートは今後予定されています。Rustライブラリとしてリンクすることもできます。

主な機能

  • 01OSによる隔離を通じて、エージェントのファイル、プログラム、ネットワークへのアクセスを制限する。
  • 02Dogwoodで記述された、デフォルト拒否のpermitおよびforbidルールを評価する。
  • 03シェル、Python、ネットワーク、MCPの呼び出しで、単一のポリシーエンジンとイベント履歴を共有する。
  • 04外向きの接続とHTTPリクエストを、メソッドとパスに基づいてチェックする。
  • 05API認証情報やAWS SigV4署名を付与し、エージェントに秘密情報を見せずに済むようにする。
  • 06ポリシーの判定結果をOTLP JSONとして記録する。

ユースケース

  • 秘密情報を読み取ったり、任意のホストに接続したりできないようにしたコーディングエージェントの実行。
  • エージェントが呼び出せる外部APIと、使用できるHTTPメソッドの制限。
  • エージェントのプロセスにAPIキーを渡さずに、許可されたリクエストを実行できるようにする。
  • ポリシー判定ログを使って、エージェントが試みた操作を監査する。

クイックスタート

  1. 1

    README に記載されている公式ダウンロードスクリプトを実行する

  2. 2

    インストールされているバージョンを確認する

    ./box-core/box --version
  3. 3

    リポジトリをクローンする

    git clone https://github.com/strands-agents/box.git
  4. 4

    ソースから box バイナリをビルドする

    cargo build --release -p strands-box -p strands-box-containment

使う前に知っておきたいこと

  • プレビューリリースのため、現在ローカル実行に対応しているのは Apple silicon 搭載の macOS のみです。
  • スタートガイドの利用には、Node.js 22.21 以降と Amazon Bedrock での Claude Opus 5 へのアクセスも必要です。

収録されている特集

トピック

#agent-sandbox#ai-safety#sandboxing#zero-trust#policy#rust#mcp#credential-management#agentic-ai#agents

よくある質問

box とは?
AIエージェントが実行・読み取り・書き込み・ネットワーク接続できる対象をデフォルト拒否ポリシーで制限する、オープンソースのサンドボックスエンジン。 Strands Boxは、OSサンドボックス内でAIエージェントを実行し、Dogwoodで記述するセマンティックポリシーを適用します。ファイル、プログラム、ネットワークへのアクセスはbox.tomlで設定し、policy.dwのルールで、引数、過去の操作、経過時間に基づいて許可する操作を決定します。ポリシーエンジンによるチェック対象の操作は、permitルールで許可されない限り拒否され、forbidルールはpermitより優先されます。
box は無料で使えますか?ライセンスは?
box は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
box は今もメンテナンスされていますか?
活発にメンテナンス中。box の最終コミットは 2026年11月7日 です。
box は何に使えますか?
秘密情報を読み取ったり、任意のホストに接続したりできないようにしたコーディングエージェントの実行。 エージェントが呼び出せる外部APIと、使用できるHTTPメソッドの制限。 エージェントのプロセスにAPIキーを渡さずに、許可されたリクエストを実行できるようにする。 ポリシー判定ログを使って、エージェントが試みた操作を監査する。
box のインストール方法は?
README に記載されている公式ダウンロードスクリプトを実行する インストールされているバージョンを確認する: ./box-core/box --version リポジトリをクローンする: git clone https://github.com/strands-agents/box.git ソースから box バイナリをビルドする: cargo build --release -p strands-box -p strands-box-containment
box はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/strands-agents/box

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト