Microsoft Execution Containers (MXC) 1.0.0 リリース: AIエージェントのためのポリシー駆動型コンテインメント
TL;DR – MXC 1.0.0が提供するものとその重要性
Microsoft Execution Containers (MXC) 1.0.0は、AIエージェントをホストシステムから分離する、ポリシー駆動型の実行レイヤーとして一般提供(GA)されました。開発者はファイル、ネットワーク、UIへのアクセスを制限するJSONポリシーを宣言し、MXCはプラットフォーム固有のコンテナ(プロセス、セッション、WSL、または実験的なMicroVM)を使用してそれらの制限を強制します。これにより、企業は「無制限アクセスか、すべてブロックか」というジレンマを回避しつつ、エージェントの生産性を享受するための具体的な手段を得ることができます。
コンテインメントはエージェントの核心的なセキュリティプリミティブ
エージェントはそれ自身のセキュリティ権限を持つことはできません。 MXCは、エージェントを開発者または組織によって定義され、エージェントのコードの外部で強制される境界内で実行することを強制します。実際には、Webサイトを更新するコーディングエージェントに対して、リポジトリへの読み取り/書き込みアクセス権と、本番環境設定への読み取り専用アクセス権を付与することができます。この場合、モデルの意図に関係なく、その設定を変更しようとする試みはコンテナによってブロックされます。
「管理された実行境界がなければ、エージェントはサーバー設定を変更することがタスクを完了するための最も速い方法であると判断し、本番サイトを破壊してしまう可能性があります。」 – Microsoft blog
MXCアーキテクチャとサポートされているバックエンド
| バックエンド | プラットフォーム | 一般的なユースケース | 主な分離特性 |
|---|---|---|---|
| プロセスコンテナ | Windows 11, macOS, Linux | 低遅延ワークロード、モデル生成コード、ツール実行 | AppContainer (Win), Seatbelt (macOS), Bubblewrap (Linux) を使用 – 軽量サンドボックス |
| セッションコンテナ | Windows 11のみ | デスクトップ、クリップボード、UI分離を必要とする長時間実行エージェント | 個別のWindowsアカウントとセッション。デスクトップ、クリップボード、入力を分離 |
| WSLコンテナ (WSLc) | Windows 11のみ | Linuxファーストのツールチェーン、Linuxパッケージに依存するワークロード | WSL内で実行され、完全なLinux環境を提供 |
| MicroVM | Windows 11, Linux (実験的) | ハードウェアによる分離を必要とする高リスクワークロード | ハードウェアで強制されるVM境界、完全なLinux互換性 |
各バックエンドは同じJSONポリシーをプラットフォーム固有の強制メカニズムにマッピングするため、開発者はホストOSに関係なく単一のポリシーファイルを記述できます。
ポリシーのスキーマ – 何を制限できるか?
MXCポリシーは5つの領域に分かれています:
- Containment – バックエンド(プロセス、セッションなど)を選択します。
- Process – コマンドライン、引数、作業ディレクトリ、環境変数。
- File system – 読み取り、書き込み、アクセス不可のパスに対する明示的な許可/拒否リスト。
- Network – インバウンド/アウトバウンドルール、ループバックの有効化/無効化。
- User interface – デスクトップ、クリップボード、またはUI要素と対話する権限。
コーディングエージェントの典型的なポリシーは以下のようになります:
{
"containment": "process",
"process": {"command": "python", "args": ["agent.py"]},
"filesystem": {"allowRead": ["/repo/**"], "allowWrite": ["/repo/**"]},
"network": {"allowOutbound": ["git.example.com:443"]},
"ui": {"allowDesktop": false}
}
ポリシーはエージェントの外部に存在するため、エージェントが自身の権限を昇格させることはできません。
運用モード – 学習から強制まで
MXCは、チームが最小権限ポリシーを反復するために役立つ、相互に排他的な3つのモードをサポートしています:
| モード | アクセス結果 | アクティビティレポート | 推奨ステージ |
|---|---|---|---|
| Enforcement (強制) | ブロックされた操作は拒否される | レポートなし | 本番環境 |
| Learning (学習) | ブロックされた操作は拒否され、かつ記録される | JSONアクティビティログ | ポリシー作成 |
| Permissive (許可) | すべての操作が許可されるが、記録される | JSONアクティビティログ | 初期テスト |
Learningモードでは、拒否されたファイルアクセス試行がアクティビティレポートに表示されるため、開発者はシステムをリスクにさらすことなく、不足しているパスをポリシーに追加できます。
Microsoft EntraおよびAgent 365との統合(将来)
Microsoftは、Entraがまもなくエージェントのアクティビティに、ログインユーザーとは別の個別のIDをタグ付けすることを発表しました。これにより、以下が可能になります:
- Microsoft Agent 365におけるエージェントごとの監査証跡。
- 人間のユーザーではなくエージェントのプリンシパルを対象としたポリシー強制。これにより、侵害されたエージェントがユーザーのより広範なアクセスに影響を与えることを防ぎます。
- きめ細かなガバナンス(例:従業員の生産性を維持しながら、問題のある単一のエージェントのみをブロックする)。
実世界の採用 – パートナーとフレームワーク
ブログには、いくつかの初期採用事例が記載されています:
- NVIDIA OpenShell – ファイル、ネットワーク、資格情報制御のためにMXCを統合。
- GitHub Copilot, OpenAI Codex, Replit, LM Studio, Unsloth AI – 開発者ワークフロー向けにMXCサンドボックスをすでに提供。
- Anthropic Claude Code, Box, Egnyte, Heidi Health, Nous Research’s Hermes Agent, Manus, Perplexity, Raycast, Simularなどが今後サポート予定。
これらの統合は、MXCが単なる概念実証ではなく、リポジトリやツールチェーンへのきめ細かなアクセスを必要としながらホストシステムを保護する必要がある、本番グレードのコーディングアシスタントで使用されていることを示しています。
コミュニティのフィードバック – 強みと懸念
- 肯定的な反応 – 管理者権限なしでアプリの権限を最終的にロックダウンできる能力(例:Windows 11 25H2で昇格なしでAppContainerを作成できる点)を評価する声があります。
- 成熟度への批判 – 一部のユーザーは、ドキュメントの洗練不足(特にBubblewrapの統合)や、より深いセキュリティモデルの刷新が必要であると指摘し、このリリースを真の1.0 GAではなく「技術プレビュー」と呼んでいます。
- エンタープライズ重視 – MXCが企業顧客に限定されるのかという疑問が提起され、一般ユーザーが同等の保護を受けられないのではないかという懸念が示されました。
- 代替ソリューション – あるコメンテーターは、既存のLinuxコンテナ/VMを使用することを提案し、Linux上にはすでに「そのまま動作する」ソリューションが存在すると主張しました。
これらの視点は、MXCがWindows中心のエージェントセキュリティのギャップを埋める一方で、その採用はツールの成熟度、明確なドキュメント、および企業ライセンスを超えたより広範な可用性に依存することを示しています。
はじめに
- MXCリポジトリをクローンします:
https://github.com/microsoft/mxc - リポジトリの
READMEから言語固有のSDK(C#, Pythonなど)をインストールします。 - 上記のスキーマを使用してJSONポリシーを作成します。
- Learningモードでエージェントを実行し、アクティビティレポートを生成します。
- ポリシーを調整し、本番環境用にEnforcementモードに切り替えます。
フィードバックやバグ報告は、GitHub Issuesトラッカーで歓迎されています。
結論
Microsoft Execution Containers 1.0.0は、開発者が主要なOS全体でAIエージェントをサンドボックス化するための、具体的でポリシー駆動型の方法を提供し、「エージェントが何ができるか」(コンテインメント)と「エージェントが誰であるか」(将来のEntra ID)を分離します。複数の分離バックエンド、明確なJSONポリシーモデル、安全なポリシー反復のための3つの運用モードを提供することで、MXCは「無制限かブロックか」というジレンマを管理可能なセキュリティ体制へと変えます。ただし、これはツールの成熟とドキュメントの整備が追いつくことが前提となります。
Sources
関連
- Dispatch
- プロジェクト
- Dispatch
- プロジェクト
- Dispatch