Microsoft попереджає про можливість атак AutoJack на агентів ШІ
Microsoft попереджає про можливість атак AutoJack на агентів ШІ
Поточні дослідження безпеки фреймворків агентів ШІ виявили ланцюг експлойтів у AutoGen Studio (відкритому інтерфейсі прототипування AutoGen), який дозволяє недовіреному вебконтенту, що відображається агентом браузера, отримувати локальне з'єднання WebSocket через протокол Model Context Protocol (MCP) і запускати довільні процеси на хості. Ця техніка, яку ми називаємо AutoJack, перетворює агента на «останню милю» для зловмисника, перетинаючи межу довіри localhost, на яку покладаються багато інструментів розробників.
Дослідницька команда Microsoft Defender Security Research повідомила про це до Центру реагування на інциденти безпеки Microsoft (MSRC); Після отримання повідомлення розробники посилили захист головної гілки у коміті B047730. Цю проблему було виявлено та виправлено під час розробки. Уражена частина MCP WebSocket ніколи не була включена до релізів Python Package Index (PyPI), тому користувачі, які встановлюють AutoGen Studio з PyPI, не підпадають під вплив цього конкретного ланцюга.
Головний висновок загальний у тому, що якщо агент може переглядати недовірені сторінки та одночасно спілкуватися з привілейованими локальними сервісами, інтерфейс зворотного зв'язку може стати вразливою точкою атаки, і керуючі площини мають бути автентифіковані, авторизовані та ізольовані.
Чому команда Microsoft Defender Security Research розглядає фреймворки агентств
Сучасні AI-агенти — це не просто генератори тексту. Вони читають файли, переглядають сторінки, викликають API та взаємодіють з інструментами через командний рядок. Саме це робить їх корисними, і саме тому вони інвестують у виявлення системних ризиків виконання у фреймворках, які пов'язують моделі з інструментами. Раніше в цій серії ми розглядали примітиви віддаленого виконання коду в семантичному ядрі Microsoft У цій статті ми перейдемо до інфраструктури прототипування, орієнтованої на розробника, і покажемо, як ті ж можливості агентів, які роблять ці інструменти цінними для експериментів, можуть слугувати каналом доставки для віддаленого виконання коду, коли прототип працює без заходів безпеки.
Головний висновок — не уникати прототипів. Суть така: коли агент на вашому основному сервері або ноутбуці може користуватися відкритим інтернетом і взаємодіяти з привілейованими локальними сервісами, localhost перестає бути межею довіри.
Що таке AutoGen Studio?
AutoGen Studio — це користувацький інтерфейс (UI), побудований на основі AutoGen , дослідницького фреймворку Microsoft для багатоагентних систем. Він дозволяє розробникам створювати агенти, підключати інструменти, включно з 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.
