AIエージェントのツール、認証情報、ネットワークアクセス、ファイル変更を制御する、カーネル強制型のサンドボックス・セキュリティレイヤー。
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
README に記載されている公式ダウンロードスクリプトを実行する
- 2
インストールされているバージョンを確認する
./box-core/box --version - 3
リポジトリをクローンする
git clone https://github.com/strands-agents/box.git - 4
ソースから box バイナリをビルドする
cargo build --release -p strands-box -p strands-box-containment
使う前に知っておきたいこと
- プレビューリリースのため、現在ローカル実行に対応しているのは Apple silicon 搭載の macOS のみです。
- スタートガイドの利用には、Node.js 22.21 以降と Amazon Bedrock での Claude Opus 5 へのアクセスも必要です。
収録されている特集
トピック
よくある質問
- 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 の数値は毎日更新されます。
関連プロジェクト
Python、TypeScript、.NET、Rust、Goから利用できる、自律型AIエージェント向けのポリシー適用、ゼロトラストID、実行サンドボックス、SREツール群。
アイドル状態のアクターをスナップショットし、少数のワーカーで多数のステートフルAIエージェントを動かす、Kubernetes上のゼロトラスト・サンドボックスランタイム。
ファイル、データベース、ベクトルストア、APIをローカルまたはホスト型LLMにつなぐ、セルフホスト型のAIゲートウェイ。OpenAI互換APIを1つ提供します。
AIアプリをプロンプトインジェクションから保護し、PIIやシークレットをマスキングし、エージェントを狙った攻撃がないかリポジトリをスキャンするオープンソースSDK。
チャット履歴を再生するだけでなく、記憶を保存・想起・振り返ることで、AIエージェントが時間とともに学習できるようにするメモリシステムです。