Microsoft предупреждает о возможности атак AutoJack на AI-агентов
Microsoft предупреждает о возможности атак AutoJack на AI-агентов
В ходе продолжающихся исследований безопасности фреймворков для ИИ-агентов была выявлена цепочка эксплойтов в AutoGen Studio (интерфейсе для прототипирования с открытым исходным кодом от AutoGen), которая позволяет ненадежному веб-контенту, отображаемому браузерным агентом, достигать локального WebSocket-соединения по протоколу Model Context Protocol (MCP) и запускать произвольные процессы на хосте. Эта техника, которую мы называем AutoJack, превращает агента в средство доставки «последней мили» для злоумышленника, пересекая границу доверия localhost, на которую полагаются многие инструменты для разработчиков.
Microsoft Defender Security Research Team сообщили об этом в Центр реагирования на инциденты безопасности Microsoft (MSRC); после получения сообщения разработчики усилили защиту основной ветки в коммите b047730. Эта проблема была выявлена и устранена в процессе разработки. Затронутая часть MCP WebSocket никогда не включалась в релизы Python Package Index (PyPI), поэтому пользователи, устанавливающие AutoGen Studio из PyPI, не подвергаются воздействию этой конкретной цепочки.
Главный вывод носит общий характер: если агент может просматривать ненадежные страницы и одновременно взаимодействовать с привилегированными локальными службами, интерфейс обратной связи может стать уязвимым местом для атаки, а управляющие плоскости должны быть аутентифицированы, авторизованы и изолированы.
Почему Microsoft Defender Security Research Team рассматривает агентские фреймворки
Современные агенты ИИ — это не просто генераторы текста. Они читают файлы, просматривают страницы, вызывают API и взаимодействуют с инструментами через командную строку. Именно это делает их полезными, и именно поэтому вкладываются средства в выявление системных рисков выполнения в фреймворках, которые связывают модели с инструментами. Ранее в этой серии мы рассматривали примитивы удаленного выполнения кода в семантическом ядре Microsoft . В этой статье мы перейдем на один уровень выше по стеку, к инфраструктуре и поверхности прототипирования, ориентированной на разработчиков, и покажем, как те же возможности агентов, которые делают эти инструменты ценными для экспериментов, могут стать каналом доставки удаленного выполнения кода, когда прототип работает без мер защиты.
Главный вывод не в том, чтобы избегать прототипов. Дело в следующем: когда агент на вашем основном сервере или ноутбуке может просматривать открытый интернет и взаимодействовать с привилегированными локальными службами, localhost перестает быть границей доверия. Специалистам по защите необходимо это учитывать, и эти результаты показывают, почему.
Что такое AutoGen Studio?
AutoGen Studio — это пользовательский интерфейс (UI), созданный на основе AutoGen , фреймворка Microsoft Research для многоагентных систем. Он позволяет разработчикам компоновать агентов, подключать инструменты, включая серверы MCP, и проводить быстрые эксперименты. Документация четко описывает предполагаемое использование. Другими словами, это исследовательский прототип с ожидаемыми компромиссами в отношении удобства для разработчиков: настройки по умолчанию оптимизированы для упрощения итераций, а не для надежного развертывания.
Цепь AutoJack вкратце
Приведённое ниже объяснение носит исключительно демонстрационный характер. Цепочка эксплойтов не работает в текущих сборках. Она включена сюда, чтобы специалисты по кибербезопасности могли распознать этот шаблон в других агентских системах.
Цепочка эксплойтов включает в себя три независимые уязвимости в интерфейсе WebSocket MCP в AutoGen Studio:
- Список разрешенных источников доверяет localhost , но локальный агент использует именно localhost (CWE-1385 – Отсутствие проверки источника в WebSocket): WebSocket MCP принимает только соединения, источник которых равен http://127.0.0.1 или http://localhost. Это блокирует браузер, указывающий на evil.com. Он не блокирует JavaScript, который отображается в безголовом браузере, принадлежащем агенту AutoGen на той же машине .
- Промежуточное ПО аутентификации является неактивным для путей MCP (CWE-306 – Отсутствие аутентификации для критически важной функции): Промежуточное ПО аутентификации в AutoGen Studio явно пропускало /api/mcp/* (и /api/ws/*), предполагая, что они выполнят свои собственные проверки. Обработчик WebSocket для MCP не реализовал эту последующую проверку. В результате WebSocket для MCP принимал соединения без какой-либо аутентификации независимо от режима аутентификации, настроенного для остальной части приложения.
- Команда `stdioServerParams` из URL-адреса выполняется дословно (CWE-78 – Неправильная нейтрализация специальных элементов, используемых в команде ОС): конечная точка принимает параметр запроса `server_params`, декодирует JSON-объект в `stdioServerParams` с помощью base64 и передает команду и аргументы в `stdio_client` (…). Список разрешенных команд отсутствовал – `calc.exe`, `powershell.exe -enc …` или `bash -c '…'` принимались как «серверы MCP».
Соедините эти элементы с веб-страницей в открытом интернете, отображаемой агентом AutoGen, работающим на той же машине, и вы получите примитив удаленного выполнения кода. Никакого взаимодействия с пользователем не требуется, кроме как заставить агент отобразить страницу злоумышленника.
Microsoft Defender Security Research Team назвали эту технику AutoJack: злоумышленник захватывает браузерный агент и использует его в качестве дезориентированного заместителя, чтобы пересечь границу локального хоста и проникнуть в плоскость управления MCP AutoGen Studio.
