Хакерам уже недостаточно просто найти открытый ИИ-сервис и запустить на нём майнер. Злоумышленники изучают внутреннее устройство популярных ИИ-платформ, вытаскивают ключи из работающих процессов, проверяют доступные модели и маскируют вредоносные файлы под привычные каталоги инструментов вроде Claude Code. Исследователи Wiz увидели подобные атаки не в лаборатории, а в реальном интернете, наблюдая за специально развернутой ИИ-инфраструктурой в течение 90 дней.
Команда Wiz Threat Research создала honeypot-среды с LiteLLM, Flowise, LangChain, Langflow, ChromaDB, Ollama и другими компонентами современного ИИ-стека. Ловушки позволили проследить, как автоматизированные сканеры и реальные атакующие ищут уязвимые серверы, используют ошибки для удаленного выполнения команд, внедряют инструкции в ИИ-агентов и переходят к дальнейшему развитию атаки внутри скомпрометированной системы.
Одной из главных целей стал LiteLLM, популярный прокси-шлюз для работы сразу с несколькими поставщиками языковых моделей. Такой сервер может хранить API-ключи OpenAI, Anthropic, Azure и Gemini, иметь облачные IAM-права и подключаться к внутренним сервисам через MCP. В результате взлом одного шлюза способен открыть доступ далеко за пределы самого LiteLLM.
Исследователи зафиксировали эксплуатацию двух уязвимостей, связанных с MCP. Model Context Protocol позволяет ИИ-агентам подключаться к базам данных, репозиториям, внутренним API и другим внешним инструментам. В LiteLLM ошибка CVE-2026-59822 позволяла обойти аутентификацию необычно простым способом. При неудачной проверке токена сервер вместо отказа создавал объект авторизации без ограничений. В результате атакующему хватало практически любого Bearer-токена, включая один символ, чтобы получить доступ к MCP-функциям.
Вторая уязвимость, CVE-2026-42271, находилась в механизме проверки конфигурации MCP-сервера. LiteLLM передавал заданную пользователем команду непосредственно на выполнение без должной фильтрации. Атакующие подсовывали конфигурацию с Python-скриптом, который загружал и запускал майнер, а затем возвращал корректный ответ MCP. Для администратора проверка подключения выглядела успешной, пока в системе уже работал вредоносный процесс.
Авторы кампании постарались оставить как можно меньше следов. Майнер запускался как отдельный процесс, после чего каталог с загруженными файлами удалялся. Работающий процесс продолжал использовать уже открытый исполняемый файл, поэтому на диске оставалось меньше материала для расследования.
Другой класс атак был рассчитан уже на особенности ИИ-агентов. Wiz наблюдала blind prompt injection против LangChain, Flowise, OpenWebUI и Node-RED. Атакующие пытались заставить агента выполнить системную команду и обратиться к подконтрольному домену. Такой DNS-запрос подтверждал успешное выполнение инструкции, даже если злоумышленник не видел ответа ИИ-системы.
Сам текст вредоносной инструкции исследователи не перехватили, поэтому Wiz отдельно подчеркивает, что приведенный в отчете пример представляет собой реконструкцию. Телеметрия при этом показала характерную цепочку процессов и обращения к внешней инфраструктуре. После успешной проверки атакующие загружали дальнейшие команды через Pastebin, кодировали содержимое в Base64 и в некоторых случаях устанавливали XMRig для добычи Monero.
Наиболее показательная часть исследования началась уже после взлома LiteLLM. Вместо привычного поиска файлов с паролями атакующие обращались непосредственно к состоянию модулей работающего Python-процесса и извлекали master key LiteLLM. Такой подход требует знания внутреннего устройства конкретной платформы, поскольку злоумышленнику нужно знать, где именно приложение хранит нужное значение.
После получения доступа атакующие проверяли конфигурационные файлы LiteLLM и выясняли, какие backend-модели доступны через прокси. Wiz обнаружила запросы, предназначенные для определения конкретного поставщика модели. Такая информация помогает решить, что выгоднее сделать дальше, украсть API-ключ, использовать чужую квоту для собственных запросов к модели или перейти к другим ресурсам системы.
Злоумышленники адаптировали даже маскировку под ИИ-среду. На одном из honeypot-серверов Langflow майнер разместили в каталоге .claude/, а исполняемый файл назвали unicorn. Каталог .claude действительно используется Claude Code, поэтому подозрительный файл легче затерять среди компонентов легитимного ИИ-инструментария.
Наблюдения Wiz показывают заметный сдвиг в атаках на ИИ-инфраструктуру. Хакеры уже не ограничиваются универсальными сканерами и стандартными командами для Linux-серверов. В реальных кампаниях появляются приемы, рассчитанные на архитектуру LiteLLM, MCP, ИИ-агентов и конкретные способы хранения модельных ключей.
Для компаний такая инфраструктура становится особенно опасной точкой входа. ИИ-шлюзы часто концентрируют ключи сразу от нескольких сервисов, агенты получают доступ к внутренним инструментам, а некоторые популярные проекты по умолчанию могут работать без аутентификации. Wiz рекомендует относиться к доступным из интернета ИИ-сервисам как к полноценной критичной облачной инфраструктуре, ограничивать их сетевые права, следить за запуском дочерних процессов и устанавливать исправления сразу после появления, не дожидаясь планового окна обслуживания.