Microsoft Execution Containersが登場?AIエージェントを制御するMXCサンドボックスの仕組み

opoinstall
2026-10-08
5 min read

Microsoft Execution Containers (MXC) が登場しました。Microsoftは2026年10月7日、自律型AIエージェントによるコード実行、ローカルファイルシステムへのアクセス、およびネットワーク先への通信を制御するためのポリシー駆動型コンテインメントレイヤー「Microsoft Execution Containers (MXC)」の一般提供を開始しました。Windowsプラットフォームおよび開発者向けコーポレート・バイス・プレジデントであるLogan Iyer氏が発表したこのマルチ言語SDKにより、ソフトウェアチームはエージェントの処理権限外での実行境界を強制的に設定できるようになります。AIシステムが単なる対話型アシスタントから、システムファイルの変更やローカルシェルのコマンド実行が可能な自律型エージェントへと進化する中で、未管理の実行環境は重大なセキュリティリスクを孕んでいます。MXCは、Windows、macOS、Linuxで統一された構成スキーマを使用してOSレベルのサンドボックスを抽象化することで、信頼できないワークロードが、OSのコンテインメントバックエンドによって許可されたリソースを超過することを制限します。

AIエージェントになぜ独立した実行境界が必要なのか

概要

  • Microsoftは、AIエージェント向けにWindows、macOS、Linuxをまたぐポリシー駆動型のプロセスおよびセッションコンテインメントを提供する「Microsoft Execution Containers (MXC)」を一般提供しました。
  • 本アーキテクチャではポリシー定義とエージェント実行を分離しており、自律型モデルや生成されたコードが自ら権限を昇格させることを防ぎます。
  • Microsoftは、エージェントセキュリティの3つの柱として「コンテインメント」「アイデンティティ」「管理性」を掲げています。現時点ではMXCコンテインメントが利用可能で、EntraによるID管理やIntuneによるガバナンス機能は将来のリリースで予定されています。

自律型AIエージェントの導入により、ソフトウェア開発とエンタープライズワークフローは大きく変化しました。単にテキスト回答を生成する従来の対話型インターフェースとは異なり、現代のエージェントシステムは計算環境と直接やり取りを行います。こうした自律型ワーカーはコードを記述し、ターミナルコマンドを実行し、ローカルリポジトリを修正し、外部APIと連携して複雑な多段階タスクを完了させます。この自律性は高い生産性を生み出す一方で、モデルに無制限のOSアクセス権を与えることは深刻なセキュリティ上の脅威となります。

根本的なアーキテクチャ上の課題は「権限の境界」にあります。自律型エージェントは、それ自身を安全に守るセキュリティゲートキーパーにはなり得ません。例えば、アプリケーションリポジトリの更新を任されたコーディングエージェントが、業務を遂行する上でOS設定の変更やローカルサーバーの構成変更が最短ルートだと判断したとします。モデルの狭いタスクの視点からは論理的であっても、そのようなアクションは開発者が意図した運用範囲を逸脱しており、機密ファイルの流出や本番環境の不安定化を招くリスクがあります。

Microsoftの幹部が自律型AIエージェント向けMXC SDKのランタイムコンテインメントアーキテクチャを発表

Microsoftのドキュメントでは、MXCを「信頼できないワークロードのためのポリシー駆動型コンテインメントレイヤー」と定義しています。Windows開発者向け公式発表によると、このプラットフォームは「コンテインメント」「アイデンティティ」「管理性」の3つの柱を軸にエージェントセキュリティを構築しています。MXCコンテインメントは現在利用可能ですが、エージェントのIDを識別するためのMicrosoft Entra機能や、ローカルのプロセスコンテナを管理するためのMicrosoft Intuneポリシーは将来的に実装予定です。OSレベルで境界を設定することで、未承認のワークロードによる不正なファイルパスへのアクセスやネットワークソケットの開放を制限することが可能になります。

技術的構造:ポリシー駆動型分離バックエンド

Microsoft Execution Containersの技術設計を理解するには、ポリシー定義をプラットフォーム固有のコンテインメントプリミティブからどのように分離しているかを分析する必要があります。開発者はバージョン管理されたJSONスキーマを使用して、ワークロードに必要なハードウェア、ファイルシステム、ネットワークリソースを宣言します。その後、MXCランタイムはこれらの抽象的な要件をホストマシン上の適切なプラットフォームバックエンドにマッピングします。

OSごとに個別の分離ロジックを作成する手間を省くため、MXCはRust、.NET、Node.js向けの型安全なSDKを提供しています。Windows 11ではネイティブのAppContainerサンドボックスを活用し、macOSでは「Seatbelt」、Linuxでは「Bubblewrap」や「LXC」へワークロードをマッピングします。MXCオープンソースリポジトリに詳述されているように、Windowsホスト上で実行されるLinux中心の開発スタック向けには、パッケージ互換性を維持するために軽量なWSLコンテナ (WSLc) が用意されています。

商用およびオープンソースのエージェントフレームワーク全体でMicrosoft Execution Containersを導入する業界パートナーの概要

分離のスペクトラム:プロセスサンドボックスからセッションコンテナまで

AIワークロードの種類によって、必要なセキュリティ分離レベルは異なります。Gitリポジトリを対象とするローカルのlintエージェントには最小限の起動遅延が求められますが、未検証の外部スクリプトを扱う自律型Webブラウジングエージェントには厳格な境界強制が必要です。これらの多様な運用ニーズに応えるため、MXCは以下のようなコンテインメントバックエンドのスペクトラムを提供しています。

  • プロセスコンテナ (Process Containers): レスポンシブなコード実行やツール呼び出しに適した軽量なプロセスレベルのサンドボックス。Windows 11、macOS、Linux上で、AppContainer、Seatbelt、Bubblewrapなどのプラットフォームプリミティブを用いてネイティブにサポートされています。
  • セッションコンテナ (Session Containers): Windows 11専用のモデル。エージェントを別々のOS管理されたWindowsセッション内で個別のユーザーアカウントとして実行し、デスクトップ、クリップボード、ユーザーインターフェース、入力環境の境界を設定します。
  • WSLコンテナ (WSLc): Windows 11向けに設計されたバックエンド。Linux環境での開発ツールチェーンやパッケージエコシステムをWSLを通じて実行し、他のMXCバックエンドとは異なるセキュリティ特性を持つ独立したコンテインメントモデルを提供します。
  • MicroVMバックエンド: Windows 11およびLinuxで利用可能な実験的なハードウェア支援型仮想環境。ハードウェアで強制される分離が必要な高リスクワークロード向けに設計されています。

以下の図は、MXC SDKがどのようにアプリケーション実行リクエストを分離されたプラットフォームバックエンドへルーティングするかを示しています:

[アプリケーション起動API]
  ホストアプリケーション ──> MXC型安全SDK (Rust / .NET / Node) ──> コンテナリクエストエンジン
                                                                      │
                                                                      ▼
[プラットフォーム固有のコンテインメントバックエンド]
  Windows 11 (AppContainer / セッション / WSLc) │ macOS (Seatbelt) │ Linux (Bubblewrap / LXC)
                                                                      │
                                                                      ▼
[ポリシー強制実行]
  サンドボックス化されたワークロード (ファイルパスの分離、外部通信の拒否、クリップボード保護)

サポートされているWindowsプロセスコンテナでは、強制およびポリシー診断のために「Enforcement (強制)」「Learning (学習)」「Permissive (許可)」の3つの動作モードが提供されています。Enforcementモードでは、未許可のアクションは即座にブロックされます。Learningモードでは、未許可の操作はブロックされると同時に構造化されたJSON活動レポートに記録されるため、エンジニアは展開前に必要な権限を把握できます。Permissiveモードでは、未承認のアクションは記録のみが行われ、実行は許可されます。これにより、開発ワークフローを阻害することなくポリシー作成中の可視性を確保できます。

MXCコンテインメントバックエンドの選択:セキュリティとパフォーマンスのトレードオフ

自律型エージェントが企業ネットワーク内での主要なオペレーターになるにつれ、ソフトウェアアーキテクトは複雑なアプリケーションスタック全体でどのように実行境界を構築するかを決定する必要があります。エンジニアリング組織は、実装コスト、プラットフォームのポータビリティ、そして各エージェントのワークロードに必要な分離の深さというトレードオフに直面することになります。

アーキテクチャの評価:分離モデルの比較

コンテインメントバックエンドの評価には、起動時のオーバーヘッドとセキュリティ境界の強固さのバランスが求められます。軽量なプロセスコンテナは最小限の遅延で起動するため頻繁なツール呼び出しには最適ですが、設定しない限り広範なデスクトップセッションを共有することになります。逆に、セッションコンテナや仮想化境界は、プラットフォームの利用範囲が限定的になり、より多くのリソースを消費するものの、強力な分離を実現します。

以下の比較表では、自律型AIワークロードに利用可能な各分離戦略を評価します:

戦略 分離モデル 利用可能性 / 範囲 主なトレードオフ
OSネイティブプロセスサンドボックス プラットフォーム固有のプロセス分離 OSに依存 低オーバーヘッド、プラットフォームごとの個別設定
MXCプロセスコンテナ ポリシー駆動型ネイティブサンドボックス Windows 11, macOS, Linux 統一されたポリシー抽象化、バックエンド依存の制御
MXCセッションコンテナ OS分離された独立エージェントセッション Windows 11のみ デスクトップの強力な分離、限定的なプラットフォーム対応
MXC WSLコンテナ WSL経由のLinux環境 Windows 11のみ Linuxツール互換性と独立した分離特性
MXC MicroVM ハードウェア支援型仮想化 実験的 (Windows 11, Linux) 強力な分離能力、追加のオーバーヘッド

MXCは、サポートされているプラットフォームの分離メカニズムを通じて構成されたリソース境界を強制し、信頼できないワークロードの影響を軽減します。境界の強度とカバレッジは、選択したバックエンドとポリシー構成に依存します。開発者は、ワークロードが「サブ秒でのツール実行」を優先するのか、あるいは「ユーザーのデスクトップからのエージェントセッションの強力な分離」を優先するのかを見極め、タスクのリスクプロファイルに適合するコンテインメントバックエンドを選択する必要があります。

ハイブリッドインテリジェンスとローカル実行ワークフローを詳述するWindows Copilotアーキテクチャ図

エンジニアリングチェックリスト:自律型ワークフローへのポリシー駆動型コンテインメントの実装

自律型エージェントの統合に備えつつ攻撃対象領域を最小限に抑えるために、開発チームはコードベース全体で構造化されたコンテインメントプラクティスを導入すべきです。

開発者向け実装チェックリスト

  • 宣言型JSONスキーマの定義: 読み取り専用リポジトリパス、一時スクラッチディレクトリ、アクセス拒否するシステムフォルダを列挙した明確なリソースポリシーを作成します。
  • デフォルト拒否のエグレスフィルタリングの適用: ネットワークコンテインメントルールを構成し、外部通信をデフォルトでブロックし、必要なAPIエンドポイントのみをホワイトリスト化します。
  • 型安全なMXC SDKの統合: ホストアプリケーションにRust、.NET、またはNode.jsネイティブパッケージを組み込み、プログラムによってコンテナのライフサイクルを管理します。
import { spawn, type ContainerRequest } from '@microsoft/mxc-sdk/v1';

const request: ContainerRequest = {
  command: 'node -e "console.log(\'hello from container\')"',
  network: { egress: { default: 'deny' } },
  timeoutMs: 30_000,
};

const child = await spawn(request);
  • Windowsホストでの学習モードの活用: 対応するWindowsプロセスコンテナ上でエージェントのテストスイートを実行し、ブロックされたアクセス試行をキャプチャすることで最小権限のポリシー成果物を生成します。

セキュリティおよびガバナンスチェックリスト

  • 既存コンテインメント境界の見直し: ローカルエージェントワークロードがさらされるデータやツールの機密性に応じて、プロセスコンテナまたはセッションコンテナを適用します。
  • ID管理の将来像への準備: 自動化されたエージェントアクションと人間のユーザー認証情報を区別できるようにする、将来のMicrosoft Entra機能を見据えた認証アーキテクチャを計画します。
  • 中央集権的なポリシーガバナンスの評価: 企業デバイス全体でMXCコンテナの中央ガバナンスをサポートする、Microsoft Intune管理ポリシーのロードマップに従います。

よくある質問 (FAQ)

MXCはどのようにして、自律型エージェントの権限超過を防ぐのですか?
MXCはエージェントのワークロードを、開発者や組織が設定したコンテインメント境界内に配置し、選択されたOSバックエンドによって強制的に制限します。ワークロードは、アプリケーションレベルのポリシーを自身で書き換えてリソースを追加取得することはできません。不適切なファイルアクセス、ネットワーク通信、インターフェース操作は構成済みのルールに従って制限されます。ただし、正確なセキュリティ保証はバックエンド、ホストプラットフォーム、およびポリシー構成に依存します。MXCはすべての権限昇格の脆弱性に対する完全な保護策として提示されるべきではありません。
プロセスコンテナとセッションコンテナの違いは何ですか?
プロセスコンテナは、AppContainer、Seatbelt、Bubblewrapなどのプラットフォーム固有のサンドボックス内でワークロードを実行します。制限内容は選択したバックエンドおよびポリシー設定によって決まります。 セッションコンテナは、対応するWindows 11環境において、OS管理下の個別のセッション内で異なるWindowsアカウントを使用してエージェントを実行します。これにより、エージェントのデスクトップ、クリップボード、ユーザーインターフェース、入力環境を、対話的なユーザーセッションから分離できます。セッションでサポートされる実行能力や対話機能は、特定のMXCバックエンドおよび呼び出し方法に依存します。
MXCポリシーはmacOSやLinuxシステムでも強制できますか?
はい。MXC SDKは統一されたJSONポリシースキーマを利用しており、macOS上のSeatbeltやLinux上のBubblewrap/LXCなど、プラットフォームに適した分離バックエンドにマッピングされます。ただし、プラットフォームごとに機能差があります。セッションコンテナ、WSLコンテナ、Learningモードで生成されるJSON活動レポートはWindowsホスト固有の機能です。

エンジニアリングチームへの重要ポイント

Microsoft Execution Containersの導入は、自律型エージェントが管理されたセキュリティ境界内で動作しなければならないという、AIエンジニアリングにおける重要な転換点を示しています。ファイル操作、シェル実行、API連携を生成AIモデルに委譲するシステムにおいて、未コンテインメントのランタイムを使用することはインフラを深刻な運用リスクにさらすことになります。

エンジニアリング組織は、開発パイプライン全体で「コンテインメント・バイ・デザイン(設計段階からの分離)」原則を採用すべきです。ポリシー駆動型のサンドボックス化の実装、将来的なエージェントIDガバナンスへの備え、そしてワークロードのリスクプロファイルに応じた適切なコンテインメントバックエンドの選択を行うことで、ソフトウェアアーキテクトは現代の計算プラットフォームにおいて堅牢な防御境界を維持しながら、自律型AIの生産性を最大限に活用できます。

参考資料

Share this article