AutoJack: localhost стал каналом RCE для AI-агентов
AutoJack описывает класс проблем безопасности в фреймворках AI-агентов, где недоверенный веб-контент, доступ к инструментам и локальные сервисы пересекаются без строгой изоляции. Исследование Microsoft Security Research показывает, как агент с возможностью просмотра веб-страниц можно заставить обратиться к локальному интерфейсу Model Context Protocol (MCP) и выполнить команды, подготовленные атакующим, на хост-машине. Главная опасность здесь не одна ошибка, а цепочка неверных предположений о том, что означает «локальный» в архитектуре агентных систем.
Последствия имеют структурный характер. Если агент умеет открывать веб-страницы и одновременно обращаться к привилегированным локальным инструментам, localhost перестает быть надежной границей. В AutoJack эта граница превращается в транспортный слой между внешним контентом и локальными механизмами выполнения.
Что такое AutoJack в безопасности AI-агентов#
AutoJack — это цепочка эксплуатации, затрагивающая среды разработки AI-агентов, где веб-браузинг объединен с локальным выполнением инструментов через управляющие интерфейсы в стиле MCP.
Атака использует три слабых места, которые усиливают друг друга: недостаточную проверку источника в локальных WebSocket-интерфейсах, обход аутентификации внутренних MCP endpoint и небезопасную десериализацию параметров выполнения, переданных из управляемых URL-данными входов в логику запуска процессов.
Кратко о терминах#
AutoJack: многошаговая атака, при которой AI-агента с доступом к браузингу заставляют выполнять команды на хосте через подключенные к localhost управляющие интерфейсы.
MCP (Model Context Protocol): слой интерфейсов, через который AI-агенты вызывают инструменты и системные функции локально или удаленно.
CSWSH: cross-site WebSocket hijacking — атака, при которой браузерный контекст подключается к нежелательным WebSocket endpoint.
Что изменилось в агентных фреймворках после исследования Microsoft#
Microsoft указывает на проблему в экспериментальных агентных системах, где удобство разработки начинает вытеснять границы изоляции. В уязвимой прототипной среде агенты с браузингом и локальные MCP-серверы работали на одном хосте без строгого разделения доверия между внешним контентом и внутренними управляющими интерфейсами.
Описанная цепочка уязвимостей включает три связанных элемента. Во-первых, проверки origin в MCP WebSocket-слое принимали только localhost origin, чего недостаточно, если сам агент отображает внешние страницы внутри привилегированного окружения. Во-вторых, middleware аутентификации исключал маршруты MCP из стандартной защиты. В-третьих, параметры выполнения команд из URL-кодированных входов напрямую передавались в логику создания процессов.
В результате появляется управляемый путь от внешней веб-страницы к запуску локального процесса в контексте пользователя агента.
Почему localhost больше не безопасная граница для агентов#
Классическая веб-безопасность предполагает, что localhost — внутреннее и доверенное пространство. Агентные фреймворки ломают это предположение, потому что они активно соединяют внешние источники данных с локальными средами выполнения.
В AutoJack вредоносной странице не нужен прямой сетевой доступ к хосту. Достаточно, чтобы ее открыл агент, у которого уже есть доступ и к браузеру, и к локальному MCP-сервису. После этого loopback превращается в скрытый канал управления.
Меняется сама модель угроз. Атакующий больше не атакует только браузер. Целью становится слой оркестрации, который связывает модель, инструменты и системные API.
Сравнение: обычные веб-приложения и агентные среды#
| Параметр | Обычное веб-приложение | Агентная среда класса AutoJack |
|---|---|---|
| Граница доверия | Песочница браузера | Браузер + локальный мост инструментов |
| Роль localhost | Интерфейс отладки | Плоскость управления выполнением |
| Поверхность атаки | Ввод/вывод веб-приложения | Web + MCP + слой процессов ОС |
| Путь эксплуатации | Злоупотребление JS runtime | Межслойная инъекция команд |
Главное изменение связано не со сложностью технологий, а с их сочетанием. Каждый компонент по отдельности выглядит безопасным. Вместе они создают мост к выполнению команд.
Что атакующие используют на практике#
Анализ Microsoft показывает, что эксплуатация строится не на взломе криптографии или базовых механизмов ОС, а на объединении слабых предположений.
Схема атаки работает, потому что:
- агенты с браузингом получают недоверенный контент в ходе обычной работы;
- локальные MCP endpoint предполагают, что loopback означает доверие;
- аутентификация различается между маршрутами управляющего слоя;
- параметры команд не отделены от транспортных данных.
В итоге возникает сценарий confused deputy: агент выполняет действия, которые считает локальными и безопасными, хотя источник команд находится во внешнем вводе.
Что проверить#
- Проверьте, что все MCP и tool execution endpoint требуют строгую аутентификацию, включая localhost.
- Обновите агентные фреймворки и экспериментальные среды, если доступны исправления от разработчиков.
- Настройте проверки origin так, чтобы они учитывали контекст страниц, открытых агентом, а не только обычные вкладки браузера.
- Проведите аудит разделения процессов между браузингом и выполнением команд.
- Мониторьте вызовы OS-level execution и проверяйте источники параметров перед запуском процессов.
Основной вывод Microsoft: loopback нельзя считать зоной доверия в архитектуре AI-агентов.
Что это значит для команд безопасности#
Проблемы класса AutoJack показывают смену подхода к моделированию угроз. Локальные инструменты разработки нельзя считать недоступными для атакующих, если они встроены в рабочие процессы агентов.
Это расширяет область применения защитных мер, которые раньше относились в основном к интернет-сервисам: теперь они нужны в локальных средах разработки, CI/CD и экспериментальных агентных фреймворках.
Связанные материалы#
- https://gigatap.top/en/articles/black-may-check-github-risk-before-you-repeat-the-breach-cla
- https://gigatap.top/en/articles/how-pope-leo-xiv-frames-ai-as-non-neutral-infrastructure
- https://gigatap.top/en/articles/ai-cve-speed-makes-supply-chain-gaps-harder-to-hide
FAQ#
Чем AutoJack отличается от обычных веб-уязвимостей?#
Он не зависит от одной точки инъекции. Атака использует взаимодействие между агентами с браузингом, локальными API и интерфейсами выполнения, превращая архитектуру в уязвимость.
Может ли стандартная песочница браузера остановить такой класс атак?#
Нет. Выполнение происходит за пределами песочницы браузера — внутри среды агента, которая соединяет веб-контент и выполнение системных инструментов.