Стратегия корпоративной защиты стоимостью в несколько миллионов долларов часто рушится под весом одного неаутентифицированного контейнера. Я убедился в этом на собственном опыте в прошлом квартале во время аудита исследовательской лаборатории, которая потратила шесть месяцев на укрепление своих кластеров Kubernetes, но оставила экземпляр ComfyUI открытым для демонстрации на выходные. Этого единственного открытого порта 8188 было достаточно, чтобы обойти все сетевые политики, которые у них были внедрены. Ботнет NadMesh, обнаруженный в начале июля 2026 года, обитает именно в этом разрыве между корпоративными стандартами безопасности и неистовым темпом развертывания ИИ.
NadMesh — это семейство вредоносных программ на базе Go, которое отдает приоритет идентификационным данным, а не чистым вычислительным мощностям. В то время как предыдущие ботнеты фокусировались на захвате GPU для майнинга Monero, операторы NadMesh понимают, что украденный секретный ключ AWS ценнее, чем несколько тысяч хешей в секунду. XLab компании QiAnXin опубликовала в пятницу отчет, в котором подробно описывается, как этот ботнет охотится на генераторы изображений, локальные средства запуска моделей и конструкторы рабочих процессов, которые инженерные группы быстро развертывают и поздно закрывают брандмауэром.
В современном развертывании ИИ существует фундаментальный парадокс. Организации вкладывают значительные средства в облачные роли IAM и зашифрованные хранилища, но при этом позволяют разработчикам запускать неаутентифицированные инструменты, такие как Ollama или n8n, напрямую в открытом интернете. NadMesh эксплуатирует это отсутствие трения. Ботнет использует сборщик Shodan, чтобы пополнять очередь сканирования целями, на которых запущены ComfyUI, Open WebUI, Langflow и Gradio. Это инструменты современного стека ИИ, и они редко защищены «из коробки».
Недавно я анализировал дамп, в котором разработчик развернул блокнот Marimo для тестирования новой модели. Они проигнорировали предупреждения системы безопасности, потому что инструмент был нужен им всего на час. В течение двадцати минут бот NadMesh просканировал IP, идентифицировал службу и предпринял попытку эксплойта. Такая скорость возможна, потому что ботнет относится к интернету как к базе данных с возможностью поиска, а не как к огромной территории для блуждания. Подсети, дающие успешные попадания, перепроверяются каждые пять минут. Если цель помечена как опасная, ботнет возвращается каждые пятнадцать минут, чтобы в первую очередь провести высокоприоритетное сканирование портов, специфичных для ИИ.
Логика сканирования настойчива. Полная проверка перемещает каждый IP, помеченный как опасный за последние семь дней, обратно в начало очереди. Автор явно знает, что исследователи и «приманки» (honeypots) ведут наблюдение. Если цель поглощает десять попыток развертывания без возврата результата, ботнет автоматически заносит ее в черный список. Это предотвращает трату ресурсов флота на ложные цели. Когда очередь иссякает, боты генерируют случайную подсеть /24 и продолжают охоту.
Ко второй неделе июля количество уникальных исходных IP-адресов, продвигающих NadMesh, резко возросло. XLab зафиксировала скачок с почти нулевого уровня до примерно 139 в день. Собственная панель управления оператора, захваченная 10 июля, заявляет об улове в 3811 уникальных ключей AWS. Это расхождение между небольшим количеством активных ботов и огромным объемом украденных учетных данных указывает на высокоэффективный механизм автоматизации. Оператору не нужен массовый ботнет, если каждое заражение приносит мастер-ключ к облачной среде.
Протокол контекста модели (Model Context Protocol, MCP) является основным вектором в списке приоритетов контроллера. MCP — это стандарт, который позволяет моделям ИИ вызывать внешние инструменты и получать доступ к источникам данных. По замыслу, первая спецификация MCP вынесла аутентификацию за пределы основного протокола. Поток авторизации существует с марта 2025 года, но в спецификации он описан как необязательный. Многие разработчики пропускают его, чтобы сэкономить время при настройке.
Censys насчитал более 21 000 доступных служб MCP к маю 2026 года. Примерно 90 из них рекламировали инструмент под названием execute_command. Этот инструмент является именно тем вызовом, который стоит на первом месте в таблице эксплойтов NadMesh. Ботнет использует JSON-RPC tools/call для запуска этой команды. С этой деятельностью не связано ни одного CVE, потому что программное обеспечение работает именно так, как оно настроено. Проблема не в ошибке в коде. Проблема в протоколе, который по умолчанию разрешает неаутентифицированное выполнение команд.
Когда бот успешно компрометирует хост, он не просто устанавливает майнер. Он каталогизирует среду. Поток разведданных за панелью управления NadMesh показывает инвентарные списки моделей DeepSeek, GLM и Kimi. Эти списки часто помечаются идентификатором «:cloud». Это указывает на то, что бот смотрит дальше локальной машины и определяет, к каким удаленным ИИ-сервисам хост имеет доступ.
То, что бот отправляет домой, — это личность организации. Он извлекает облачные ключи из переменных среды, токены сервисных аккаунтов Kubernetes и очищает содержимое ~/.aws/config. Он также нацелен на файлы .env и ~/.docker/config.json. Исследователи прямо говорят о мотиве. Оператору нужны облачные учетные данные и привилегии кластера, а не сам хост. В современной архитектуре хост — это расходный материал, но учетные данные обеспечивают постоянный доступ к плоскости данных.
Удалить NadMesh из скомпрометированной системы сложно из-за его избыточных механизмов закрепления в системе. Агент поддерживает три отдельных способа пережить перезагрузку. Если администратор найдет и удалит одну запись, две другие останутся, чтобы загрузить свежую копию вредоносного ПО. Это похоже на попытку потушить пожар, у которого есть три независимых источника топлива. Каждая сборка вредоносного ПО также проходит через обфускацию Garble и упаковку UPX с рандомным заполнением. Это означает, что каждый агент имеет уникальный хеш файла. Группа безопасности не может полагаться на один хеш для поиска заражений в своей сети.
В настоящее время в дикой природе работают пять версий сборки ботнета. Самая распространенная — 33.8-GO-TITAN. Оператор использует «канареечную» конечную точку для тестирования новых сборок на небольшой части флота перед широким выпуском. Это уровень зрелости DevOps, который зеркально отражает легитимные софтверные компании, на которые они нацелены. Успех оператора оценивается по списку разрешенных результатов, который исключает сбор Ollama и AWS. Это говорит о том, что таблица лидеров на панели управления показывает лишь часть всей операции.
Большая часть того, что атакует NadMesh, нацелена на административные функции, оставленные доступными в открытом интернете. Сюда входят открытые API Docker на порту 2375, консоли сценариев Jenkins и неаутентифицированные экземпляры Redis. Никакой патч не закроет эти дыры, потому что это выбор конфигурации. Чтобы обезопасить свою среду, вы должны перенести эти службы за аутентификацию или полностью убрать их из открытого интернета. Приоритетно займитесь четырьмя портами, которые задание по повторному сканированию NadMesh ставит на первое место: 8188 (ComfyUI), 11434 (Ollama), 7860 (Gradio) и 5678 (n8n).
Существует также краткий список уязвимостей, требующих немедленного исправления. CVE-2026-39987 — это уязвимость удаленного выполнения кода до аутентификации в блокнотах Marimo. CISA добавила ее в каталог известных эксплуатируемых уязвимостей в апреле. CVE-2026-41176 также критична, так как позволяет неаутентифицированным вызывающим сторонам переключать аутентификацию на серверах rclone RC. Поскольку конфигурации rclone часто содержат облачные учетные данные, это приоритетная цель для NadMesh.
Если вы обнаружите индикаторы компрометации, немедленно изолируйте хост. Ищите файлы закрепления в /etc/cron.d/.sys_monitor и скрытые файлы в /dev/shm/.a или /tmp/.a. Отзыв учетных данных — единственный безопасный путь вперед. Если хост скомпрометирован, считайте, что каждый ключ AWS, токен кластера и файл .env, к которым он прикасался, теперь находятся в руках оператора. Ротации ключей недостаточно, если вредоносное ПО все еще присутствует, чтобы украсть новые. Вы должны устранить механизмы закрепления, прежде чем выпускать замену. Проверьте свои логи на предмет активности с IP 209.99.186[.]235 или соединений с доменом cdnorigin[.]net. Цель состоит в том, чтобы проверить, где использовались украденные идентификационные данные, пока они были активны.
Источники: NIST Cybersecurity Framework, MITRE ATT&CK (Resource Development, Initial Access), QiAnXin XLab NadMesh Report, Censys MCP Census 2026.
Отказ от ответственности: Данная статья предназначена только для информационных и образовательных целей и не заменяет профессиональный аудит кибербезопасности или услуги по реагированию на инциденты.



Наше решение для электронной почты и облачного хранения данных со сквозным шифрованием обеспечивает наиболее мощные средства безопасного обмена данными, гарантируя их сохранность и конфиденциальность.
/ Создать бесплатный аккаунт