AutoJack: уязвимость в AutoGen Studio, которая позволяла чужой веб-странице запускать код на вашем компьютере?

Исследователи Microsoft обнаружили атаку, получившую название AutoJack, направленную против AutoGen Studio — открытого интерфейса для прототипирования на базе мультиагентного фреймворка AutoGen, разработанного Microsoft Research. Суть проблемы: страница в интернете, которую просматривает AI-агент, работающий на той же машине, что и AutoGen Studio, способна выполнить произвольные команды на уровне операционной системы — под привилегиями процесса AutoGen Studio. Никаких учётных данных, никакого отдельного взаимодействия с пользователем после загрузки страницы не требуется.
Атака строится на цепочке трёх слабых мест в реализации MCP WebSocket (Model Context Protocol). Первое: сокет доверял подключениям с localhost, считая, что внешний браузер туда добраться не сможет. Но локальный агент, который рендерит страницу злоумышленника, сам работает на localhost — и JavaScript выполняется именно в этом контексте, спокойно проходя проверку. Второе: промежуточный слой аутентификации пропускал пути MCP, предполагая, что сам обработчик проверит токены. Обработчик этого не делал — сокет принимал неаутентифицированные подключения независимо от настроенного режима авторизации. Третье: конечная точка MCP брала параметр cmd прямо из запроса и выполняла его без какого-либо списка разрешённых значений. В итоге цепочка выглядит так: интернет-страница → рендеринг локальным агентом → унаследованный контекст localhost → подключение к MCP WebSocket без аутентификации → отправка cmd=calc.exe → выполнение кода от имени пользователя AutoGen Studio.
В качестве доказательства работоспособности атаки исследователи использовали агент типа Web Content Summarizer: ему передавали URL злоумышленника, и на рабочем столе разработчика запускался calc.exe через процесс AutoGen Studio. Выглядит безобидно, но calc.exe — это просто демонстрационная полезная нагрузка. Вместо калькулятора там может оказаться что угодно.
Понять, под угрозой ли конкретная установка, можно по версии. Стабильная версия 0.4.2.2 из PyPI — та, что устанавливается командой pip install autogenstudio — уязвимого маршрута MCP WebSocket не содержит и атаке не подвержена. Microsoft прямо говорит, что уязвимая поверхность не вошла ни в один стабильный релиз PyPI. Совсем другая история с пред-релизами: 0.4.3.dev1 и 0.4.3.dev2, доступные в PyPI, содержат уязвимый обработчик — и на момент публикации материала The Hacker News они не были отозваны (yanked). Эти версии устанавливаются через pip install --pre autogenstudio или явным указанием номера версии.
Патч был внесён в ветку main на GitHub в коммите b047730 в рамках pull request 7362. Исправления затронули сразу несколько аспектов: обработчик больше не читает команду из параметров URL или запроса; параметры теперь хранятся на стороне сервера за одноразовым session ID; неизвестные session ID отклоняются; маршруты MCP наконец проходят через обычный путь аутентификации, который middleware больше не пропускает.
Что делать прямо сейчас: сначала проверить версию командой pip show autogenstudio. Если установлена 0.4.2.2 — можно не волноваться. Если обнаружена 0.4.3.dev1 или 0.4.3.dev2, то путь через PyPI до пропатченной версии пока закрыт: нужно удалить текущую версию (pip uninstall autogenstudio) и установить непосредственно из GitHub начиная с коммита b047730: `pip install . За официальным релизом PyPI версии выше 0.4.3 с включённым патчем стоит следить отдельно.
Помимо патча сам по себе важен архитектурный момент. Агенты с доступом к браузеру (Playwright, Selenium, headless-браузеры), обрабатывающие непроверенный контент, категорически не должны работать на том же хосте или в том же localhost-пространстве, что и AutoGen Studio. Изоляция в отдельных контейнерах или виртуальных машинах — это не паранойя, а нормальная мера. Запуск AutoGen Studio под выделенной учётной записью с минимальными привилегиями тоже существенно снижает радиус возможного ущерба.
Microsoft подчёркивает, что AutoJack — это не разовый баг конкретной программы, а проявление системной архитектурной проблемы, которую стоит ожидать и в других агентных фреймворках. Опасная схема выглядит так: локальный сервис с широкими правами на запуск процессов + доверие к localhost как к границе безопасности + агент, просматривающий непроверенный веб-контент. Как только агент соединяет web и локальные сервисы, localhost перестаёт быть барьером.
Схожие исследования Microsoft уже проводило применительно к Semantic Kernel: там были задокументированы уязвимости CVE-2026-26030 и CVE-2026-25592 с аналогичными аргументами про localhost-доверие. The Hacker News в том же контексте упоминает атаку ChatGPhish, наблюдавшуюся месяцем ранее: там сводки страниц, которые делал ChatGPT, использовались как фишинговый вектор. Всё это один и тот же класс рисков, возникающих при взаимодействии агентов с веб-контентом.
Разработчикам фреймворков Microsoft рекомендует придерживаться трёх правил: всегда аутентифицировать control plane и не пропускать middleware для отдельных маршрутов; применять allowlist для запуска процессов и никогда не передавать сырые команды из запросов напрямую в исполнение; давать агенту отдельную идентичность, отличную от сессии разработчика, чтобы соблюдать принцип минимальных привилегий.


Новое на сайте

Ссылка