Microsoft выпустила MXC: контейнеры, ограничивающие права ИИ-агентов в Windows

Microsoft выпустила MXC: контейнеры, ограничивающие права ИИ-агентов в Windows

Microsoft объявила, что Microsoft Execution Containers (MXC), слой выполнения на основе политик для недоверенного или динамически сгенерированного кода, стал общедоступным. В Windows он выполняет роль слоя изоляции (containment) в наборе возможностей для безопасной работы агентов; два других направления, идентичность (отличать действия агента от действий человека) и управляемость (инструменты для организаций, чтобы управлять доступом и следить за активностью агентов). Поддержка MXC в Windows 365 тоже стала общедоступной: агентов можно запускать на облачных ПК.

Исходная мысль Microsoft: агент не может быть собственным органом безопасности, он должен работать в границе, заданной разработчиком или организацией и применяемой независимо от самого агента. В качестве примера приведён кодирующий агент, которого просят обновить сайт. Ему нужен доступ на чтение и запись к репозиторию и инструменты для сборки и проверки; конфигурацию продакшен-сервера он может читать, но не должен менять. Без управляемой границы агент способен решить, что правка конфигурации, самый быстрый путь к цели, и сломать рабочий сайт. По заявлению Microsoft, среда изоляции спроектирована так, чтобы предотвратить такую операцию независимо от того, что решит модель, сгенерированный код, плагин или инструмент.

Как это устроено. Разработчики описывают ресурсы, которые нужны рабочей нагрузке (файлы, сетевые адреса), а MXC применяет получившуюся границу с помощью подходящего контейнера. Политика находится вне контроля агента, поэтому агент или сгенерированный им код не могут выдать себе дополнительный доступ. Контейнером можно ограничить результат работы модели, плагины, инструменты, обвязку агента (agent harness) или агента целиком. Для интеграции используются единая JSON-схема конфигурации и SDK для нескольких языков, а MXC сопоставляет запрошенные ограничения с выбранными бэкендами на Windows, macOS или Linux. Уровни изоляции подбираются под задачу: кодирующему агенту может быть важнее низкая задержка, а обработке чувствительных данных или недоверенному коду нужна более сильная изоляция. Только Windows поддерживает контейнер сессии (session container): агент запускается на устройстве пользователя в отдельной сессии, изолированной средствами ОС, со своей локальной идентичностью агента и изолированными рабочим столом, буфером обмена, интерфейсом и вводом. У каждого бэкенда свои свойства безопасности, поэтому нагрузку нужно оценивать на пригодность к конкретному бэкенду.

Политики на двух уровнях. Разработчик агента декларирует нужные ресурсы, а организация может добавить ограничения через политику управления, например Microsoft Intune, так один и тот же агент работает в разных корпоративных границах. Политика Intune для управления контейнерами процессов MXC на Windows 11 «скоро будет доступна»; она позволит администраторам контролировать, как Windows обрабатывает запросы агентов на создание контейнеров и какие границы ресурсов они применяют. Microsoft советует разработчикам проектировать нагрузки с расчётом на более строгие границы: если политика блокирует ресурс, агент должен объяснить, что задачу нельзя выполнить в рамках имеющихся прав, запросить действие пользователя или администратора либо выбрать безопасную альтернативу, но не молча отказываться.

Три режима работы помогают составить политику с наименьшими привилегиями. В режиме Enforcement (принудительное применение) политика применяется без отчёта об активности: разрешённые операции проходят, остальные ограничиваются. В режиме Learning (обучение) MXC по-прежнему применяет границу, но неразрешённая операция блокируется и записывается в JSON-отчёт об активности, так видно, к каким ресурсам обращалась нагрузка. В режиме Permissive (разрешительный) MXC записывает доступ, который политика бы запретила, но позволяет операции продолжиться; при этом другие применимые ограничения ОС или организации он не обходит. Отчёт об активности формируют только контейнеры процессов MXC на Windows.

Идентичность и атрибуция. Microsoft пишет, что «скоро» Windows позволит Microsoft Entra отличать активность агента от активности пользователя в Microsoft Agent 365, а контроль Agent 365 распространится на локальные агенты на устройстве: ИТ-команды смогут управлять контейнерами MXC, применять политики и следить за активностью агентов. Сроки не названы. Идея в том, что скомпрометированный или нарушивший политику агент будет ограничиваться отдельно, не блокируя доступ сотрудника.

Экосистема. NVIDIA интегрировала OpenShell в MXC: он дополняет его политиками доступа агента к файлам и сервисам инференса, расширенными сетевыми ограничениями, управлением учётными данными и, для предприятий, аудитом OCSF. По данным Microsoft, MXC уже поддерживают GitHub Copilot, OpenClaw, OpenAI Codex, Replit, LM Studio и Unsloth AI. Поддержку только выпустят Anthropic Claude Code, Box, Egnyte, Heidi Health, Hermes Agent от Nous Research, Manus, Perplexity, Raycast и Simular, а также другие. Начать можно с SDK, схемы конфигурации, документации и примеров в репозитории MXC; о проблемах предлагается сообщать через GitHub.

Ключевые факты

  • Microsoft Execution Containers (MXC) стали общедоступными, как и поддержка MXC в Windows 365 для запуска агентов на облачных ПК.
  • Разработчик декларирует ресурсы агента (файлы, сетевые адреса) в единой JSON-схеме, а политика применяется снаружи агента: он не может выдать себе дополнительный доступ. Бэкенды есть для Windows, macOS и Linux.
  • Три режима: Enforcement (применять политику), Learning (блокировать и записывать в JSON-отчёт) и Permissive (только записывать, не блокируя); отчёты об активности и контейнер сессии доступны только на Windows.
  • Идентичность агента в Entra, политика Intune для Windows 11 и контроль Agent 365 для локальных агентов обещаны «скоро», сроки не названы.
  • MXC уже поддерживают GitHub Copilot, OpenClaw, OpenAI Codex, Replit, LM Studio и Unsloth AI; Anthropic Claude Code и ряд других только планируют выпустить поддержку.

Почему это важно

Агенты работают с файлами, сетью и приложениями, и Microsoft прямо называет проблему: у клиентов остаётся выбор между неограниченным доступом агента и полным запретом с потерей продуктивности. MXC, попытка встроить в платформу третий путь: границу, заданную политикой и применяемую независимо от самого агента. Важно и то, что с MXC уже работают или собираются работать многие известные агентные продукты, то есть это претензия на общий для рынка механизм изоляции, а не закрытая функция одного приложения.

Кому это важно

Разработчикам агентов и агентных фреймворков, которым нужна единая схема и SDK вместо отдельной песочницы под каждую ОС. ИТ-администраторам и командам безопасности организаций на Windows: через Intune и Agent 365 они получат управление контейнерами и политиками, когда эти возможности выйдут. Пользователям кодирующих агентов вроде GitHub Copilot, OpenAI Codex и Replit, которые, по данным Microsoft, уже используют MXC.

Как это применить

Microsoft предлагает начать с MXC SDK, схемы конфигурации, документации и примеров в репозитории MXC и подключить SDK к своему агенту. Первоначальный черновик политики, по словам Microsoft, можно составить с помощью любимого кодирующего агента, а затем проверить, протестировать и уточнить. Политику с наименьшими привилегиями удобно подбирать так: сначала режим Permissive или Learning, чтобы увидеть, к каким ресурсам обращается нагрузка, затем режим Enforcement. Нагрузку стоит проектировать так, чтобы при блокировке ресурса агент объяснял причину и предлагал действие, а не молча падал. Для чувствительных данных или недоверенного кода нужно выбирать более сильный уровень изоляции и оценивать пригодность конкретного бэкенда.

Можно ли доверять

Материал, официальный блог разработчиков Windows, то есть заявления самого вендора. Ключевые утверждения (политика вне контроля агента, среда «спроектирована» предотвращать запрещённые операции) описывают замысел продукта, а не гарантию. В тексте нет данных о независимом аудите или тестировании безопасности MXC, нет цифр по накладным расходам и задержке, нет описания свойств отдельных бэкендов, сказано лишь, что они различаются. Пример с обновлением сайта, гипотетический, реальных инцидентов статья не описывает.

Риски и подводные камни

Часть обещанного ещё не вышла: политика Intune, различение агента и пользователя в Entra и контроль Agent 365 для локальных агентов названы «скоро», без сроков. Контейнер сессии и отчёты об активности доступны только на Windows, поэтому на macOS и Linux возможности отличаются. У бэкендов разные свойства безопасности, и выбор неподходящего даст иной уровень защиты, чем ожидается. Режим Permissive не блокирует операции, а лишь записывает их, поэтому оставлять его в работе вместо Enforcement нельзя; при этом он не обходит другие ограничения ОС и организации. Поддержка ряда названных продуктов, включая Anthropic Claude Code, пока только планируется. Слишком жёсткие границы могут ломать легитимные задачи агента, и его нужно доводить до корректной обработки отказов.

«Агент не может быть собственным органом безопасности. Он должен работать в границе, заданной разработчиком или организацией и применяемой независимо от самого агента.»

— Microsoft, блог разработчиков Windows