10月12日、Help Net Securityが「Strands Box: Open-source sandbox for AI agents」と題した記事を公開した。AWSがオープンソースのAIエージェント用サンドボックス「Strands Box」を公開した。OSレベルの隔離とポリシーエンジンを組み合わせ、エージェントが「何にアクセスできるか」だけでなく「壁の内側でどう振る舞うか」まで制御できる点が従来手法との大きな違いだ。
「YOLOモード」のエージェントが抱えるリスク
コーディングアシスタントをはじめとするAIエージェントは、ファイルの読み書き、シェルコマンドの実行、APIコールなど幅広い操作を行う。AWSはこうした状態を「YOLO mode」と呼んでいる。人間のレビューなしに全アクションを承認し続ける状態だ。この状態のエージェントは、作業ディレクトリの外に出たり、破壊的なコマンドを実行したり、別用途のクレデンシャルを拾ってしまったりするリスクを持つ。
コンテナやmicroVMでエージェントを隔離する手法はすでに存在するが、これらはエージェントが「どこにアクセスできるか」を制限するだけだ。壁の内側に入ったツールが実際にどう使われるかについては、隔離機構は何も言えない。
Strands Boxはこの問題に正面から取り組む。
ポリシーエンジンが「唯一の出口」になる設計

Strands BoxはmacOSのカーネルレベル隔離機構であるSeatbeltを使ってエージェントをサンドボックス内に閉じ込め、以下の4つのチェックポイントを通じてすべての操作を監視する。
- シェルインタープリタ(シェルコマンドの実行)
- Pythonインタープリタ(Pythonコードの実行)
- MCPサーバーブローカー(ツール呼び出し)
- ネットワークゲートウェイ(外部通信)
各チェックポイントは操作を実行する前にDogwood Local Engineに問い合わせ、許可されない限りアクションはデフォルトで拒否される。
DogwoodはAWSが今年オープンソース化したポリシー言語だ。Strands Boxは、AWSのエージェントフレームワークStrands Agentsのエコシステムの一部として位置づけられており、Dogwoodはそのポリシー記述基盤として機能する。設計者のMarc Brookerは、このサンドボックスの目的を「ポリシー層がボックスから出る唯一の経路であることを保証する」と説明している。
操作をまたいだルールが書ける
Strands Boxの設計で特徴的なのは、4つのチェックポイントが共有のイベント履歴に書き込む点だ。これにより、複数のツールにまたがったアクションに対してルールを定義できる。
具体例として記事では以下が挙げられている。
- 顧客データディレクトリのファイルを読んだ後、シェルコマンドであれPythonスクリプトであれ、外部へのHTTPリクエストをブロックする
- テストが通過した後にのみ
git pushを許可する - 決済APIの1日あたりの上限を$100に制限する
- インシデント対応エージェントがSlackに10分間で3回投稿した場合、4回目をHTTP 403で拒否し、ルール名をエラーメッセージとして返してエージェントに理由を伝える
クレデンシャルも保護する
ネットワークゲートウェイはシークレット管理も担う。設定済みのAPIキーについては、エージェント側にはプレースホルダートークンを渡し、ゲートウェイが外部送信時に実際の値に差し替える。AWSへのリクエストはゲートウェイが署名する。エージェントが環境変数をダンプしてもプレースホルダーしか見えない。
設計上のトレードオフ
Brooker自身が率直に認めているが、この設計には信頼するコードの量が増えるという問題がある。インタープリタやプロトコルインターセプターのような複雑なコードを信頼ベース(Trusted Computing Base)に含めることになるため、バグがポリシー迂回につながるリスクが存在する。
「コードが増えればバグの機会も増え、このドメインではバグがポリシーバイパスを意味しうる」— Marc Brooker
これへの対策として、Strands BoxのコアはRustで実装され、ファジングやテストへの投資が行われているとのことだ。
また、Dogwoodのポリシー記述は難しいとBrooker自身が認めている。フロンティアのコーディングエージェントがこれを上手く書けるとしつつ、ポリシー作成を補助するCLIツールもAWSがロードマップ上に位置づけている。具体的には box.toml と基本ポリシーの自動生成がCLIから行えるようになる予定だ。
なお、box.toml でエージェントに直接ファイルを付与した場合、そのファイルへの読み書きはOSレベルで制限されるが、ポリシーエンジンやイベント履歴には記録されない。ルールでファイルアクセスを制御したい場合は、直接付与せずインタープリタ経由でアクセスさせる必要がある。
対応環境と入手先
Strands Boxは現在デベロッパープレビュー段階で、Apple Silicon搭載のMacで動作する。Linux対応は予定されている。無償でGitHubから入手可能だ。
詳細はStrands Box: Open-source sandbox for AI agentsを参照していただきたい。