Docker Sandbox (SBX)
Docker Sandbox (SBX) とは
Docker Sandbox(SBX) は、AIコーディングエージェントを安全に実行するための隔離環境を提供する Docker の独立製品です。
もともと Docker Desktop 内の Sandbox 機能として実験的に提供されていましたが、「エージェント市場はデスクトップ市場よりはるかに大きい」という学びから、2025年初頭に独立製品 SBX として分離されました。大型の Electron アプリを必要とせず、エージェントの実行に特化した軽量な設計になっています。
| 特徴 | 内容 |
|---|---|
| 価格 | 無料(Docker Desktop ライセス不要) |
| 認証 | Docker ログインが必要 |
| 実行環境 | microVM + Docker コンテナランタイム |
| 対応 OS | macOS (Apple Silicon / Sonoma 14+)、Windows 11 (x86_64)、Ubuntu 24.04+ |
アーキテクチャ
microVM ベースの実行環境
SBX は microVM 上で Docker コンテナランタイムを動かすアーキテクチャを採用しています。
各サンドボックスは独自の Docker daemon・ファイルシステム・ネットワークを持ち、ホストシステムへの影響を完全に遮断します。
Unified Runtime(Desktop への統合)
SBX の microVM 技術は Unified Runtime として Docker Desktop にも採用予定です(2025年後半)。これにより Windows 環境では以下が不要になります。
- WSL2 のチューニングやパッチ管理
- WSL2 ディストリビューションの選択
- Hyper-V の設定
- macOS では MobiVM(フル VM)からの移行
Unified Runtime はコンテナ実行に特化した単一目的のカーネルを制御するため、IO パフォーマンス(9P → virtio-FS)と一貫性が向上します。
インストールと基本操作
インストール
# macOS (Apple Silicon)
brew install docker/tap/sbx
# Windows / Linux は公式ドキュメント参照
# https://docs.docker.com/ai/sandboxes/get-started/
基本操作
# ログイン
sbx login
# エージェントの秘密情報を安全に保存
sbx secret set ANTHROPIC_API_KEY
# サンドボックスでエージェントを起動
sbx run --name my-sandbox claude
# リポジトリを隔離コピーして実行(ホストは読み取り専用)
sbx run --clone --name my-sandbox claude
# サンドボックス一覧
sbx ls
# 削除
sbx rm my-sandbox
ネットワークポリシーの初期設定
| ポリシー | 内容 |
|---|---|
| Open | 全通信を許可 |
| Balanced | 一般的な開発サービスを許可、それ以外はブロック |
| Locked Down | 全ブロック(明示的な許可のみ通す) |
ポリシーは後から sbx policy コマンドで変更できます。
セキュリティ機能
なぜエージェントにシークレットを渡してはいけないのか
エージェントは悪意を持っているわけではありませんが、決定論的に動くわけでもなく、組織のセキュリティプロトコルに従うわけでもありません。エージェントは「現在のプロンプトで役に立つこと」だけでなく、「次回以降のプロンプトでも役に立つこと」を目指して動作します。
その結果、エージェントは API キーを一度受け取ると、次回のプロンプトでまた聞かれないよう自発的に保存しようとします。
エージェントの論理:
「API キーを聞かれた → なぜ毎回聞くのか? → 次は聞かれないよう保存しよう」
→ メモリファイルに書き込む
→ .env ファイルに書き込む
→ Git にコミットする
→ Gist / Pastebin に貼る(共有のため)
→ メールに含める
さらにプロンプトインジェクション攻撃(外部コンテンツ経由でエージェントに不正な指示を埋め込む攻撃)を受けた場合、攻撃者がエージェントをコントロールしてシークレットを外部に送出しようとしても、エージェントが保持しているのがフェイクトークンであれば実害はありません。
シークレット注入プロキシ
SBX のシークレット注入プロキシは、エージェントにシークレットを渡さずに外部 API 認証を成立させる仕組みです。
シークレットの保存場所:
| OS | 保存先 |
|---|---|
| macOS | Keychain |
| Windows | Windows Credential Manager |
| Linux | 暗号化ファイル(DBUS は利用不可) |
通信フロー:
エージェント側: ANTHROPIC_API_KEY = "fake-token-xyz123"(偽トークン)
↓ アウトバウンド接続をプロキシが傍受・TLS 復号
プロキシ: fake-token-xyz123 → 実際のキーに置換
↓ 外部プロキシ(Zscaler 等)へ転送
外部 API: 200 OK
エージェントは自分が送った fake-token-xyz123 に対して 200 OK が返ってきたと認識します。実際のシークレットがエージェントの実行スコープに入ることは一切ありません。
そのため、エージェントがシークレットをメモリファイル・Git リポジトリ・Pastebin・Gist・メールに書き出そうとしても、フェイクトークンしか出力できません。
プロトコル別の対応
OAuth / JWT
OAuth トークンのリフレッシュ・有効期限管理・JWT のコンテンツ検査はすべてサンドボックス外(ホスト側)で処理されます。エージェントは有効なアクセストークンを持っているように見えますが、実際のトークンマテリアルには触れません。
AWS SIG V4(BOTO)
AWS の SIG V4 署名はリクエストペイロードへのアクセスキーの埋め込みを要求するため、アクセスキーをエージェントスコープから完全に排除することはできません。SBX では以下のトレードオフで対処します。
| 項目 | 扱い |
|---|---|
| アクセスキー | エージェントスコープ内に渡す(SIG V4 署名に必要) |
| リフレッシュキー | ホスト側で保持(エージェントに渡さない) |
| 最大漏洩リスク | アクセスキーの有効期限(通常 15 分)に限定 |
アクセスキーが仮に外部に漏洩しても、15 分の有効期限内のみ利用可能であり、長期的なアクセス権は得られません。
ネットワーク制御
URL ワイルドカードで細粒度のアクセス制御ができます。
# GitHub は許可、Pastebin は禁止
allow: github.com
deny: pastebin.com
# 特定モデルをブロック(コスト管理)
deny: api.anthropic.com/*-opus-*
allow: api.anthropic.com/*-sonnet-*
Zscaler 環境でも、TLS 終端の CA 証明書をサンドボックス内に組み込むことで透過的に動作します。
# サンドボックステンプレートに CA 証明書を追加
RUN update-ca-certificates
ファイルシステムマウント制御
ホームディレクトリのマウントをポリシーで禁止するなど、センシティブなコンテンツへのアクセスを制限できます。
AI Governance(スケーラブルな管理)
SBX は個人利用に留まらず、組織全体で管理するための AI Governance フレームワークを提供します。
チームレベルのポリシー(2026-06-01 対応)
ポリシーは階層的に適用され、より制限の強いポリシーが優先されます。
会社レベルのポリシー
└─ 組織レベルのポリシー
└─ チームレベルのポリシー ← 2026-06-01 から対応
| 設定値 | 挙動 |
|---|---|
allow | ユーザーが設定・利用可能 |
deny | 強制的に禁止(ユーザーが変更不可) |
| 未設定 | デフォルト拒否(ユーザーが allow を設定可能) |
開発チームには広い権限、財務チームには制限を設けるといった、チームごとの差別化が可能です。
監査ログ
エージェントの意味ある操作はすべて記録されます。
| 段階 | 形式 |
|---|---|
| 現在 | JSONL ファイル(任意のエンドポイントログ管理で収集) |
| 近日 | OTEL エンドポイント + API キー設定で Datadog / New Relic 等へストリーミング |
| 将来 | Docker Cloud ログ機能(自前コレクター不要) |
MCP アプライアンス
MCP サーバーをエンタープライズ規模で運用するための MCP アプライアンスも提供されます。
| 機能 | 内容 |
|---|---|
| デプロイ先 | 社内 Kubernetes |
| 認証 | ゲートウェイ認証(Desktop の stdio とは異なる) |
| シークレット | バックエンドのクレデンシャル管理に対応 |
| 監査 | SBX と同様のツール呼び出しログ |
モデルゲーティングとコスト管理
URL ワイルドカードによるモデルブロック
ネットワークポリシーの URL ワイルドカードを使って特定モデルへのアクセスを制限できます。
# Claude Opus へのアクセスをブロック(コスト制御)
deny: api.anthropic.com/*-opus-*
# Haiku・Sonnet は許可
allow: api.anthropic.com/*-haiku-*
allow: api.anthropic.com/*-sonnet-*
AI エージェントハーネスはモデル一覧エンドポイント(/models)でアクセス可否を確認するため、ブロックされたモデルは自動的にリストから除外されます。Zscaler の細粒度ルール管理より安定した実装が可能です。
Tokenomics Foundation
Linux Foundation 傘下の Tokenomics Foundation(2025年設立)がトークン消費のコスト標準化を推進しています。出力トークンコストだけでなく、プロンプトキャッシングによる入力トークンコスト削減も含む中立的な財務ガバナンスの仕組みが整備される見通しです。
Docker エコシステムとの統合
SBX は Docker の「Better Together」プラットフォーム戦略の中核製品です。
| 統合 | 内容 |
|---|---|
| DHI との統合 | SBX の MCP サーバーとサンドボックステンプレートは DHI のイメージ強化プロセスを適用 |
| Model Runner | Docker Desktop のローカル推論機能。ホステッド推論を使いたくない場合に無料でローカル実行 |
| Hardened Packages | エージェントが DHI パッケージマネージャのみからパッケージ取得するよう制限可能 |