Абстрактная техническая иллюстрация для статьи. Плоская векторная диаграмма на тёмно-синем фоне: слева — небольшая группа стилизованных серверных стоек, изображённых в виде простых линейных иконок; справа — сеть тонких голубых и синих линий, соединяющих множество небольших круглых узлов. Над серверами значок открытой книги с двумя едва заметными полосками, обозначающими строки стиха, соединён с группой одной пунктирной линией, что намекает на путь поиска от публичного документа к машинному адресу. В иллюстрации нет текста, цифр и логотипов; логотип OrcaRouter наложен в правом нижнем углу.
AI Safety Incidents

Ботнет спрятал свой командный сервер в стихотворении на GitHub — и превратил 3 400 открытых ИИ-серверов в прокси для майнинга

Автор

Rowan Sterling

Дата публикации

Новые модели · 20Все модели →
Бенчмарки: Artificial Analysis · обновляется ежедневно
Назад ко всем статьям

7 октября 2026 года Black Lotus Labs компании Lumen Technologies опубликовала исследование о финансово мотивированной кампании ботнета, которую она отслеживает под названием Canto Incognito, вредоносное ПО которой она назвала PoeLLM. По словам исследователей, кампания как минимум с апреля 2026 года скомпрометировала более 3400 серверов, доступных из интернета, сосредоточенных в США и Западной Европе, — и жертвы здесь не случайные машины. Lumen утверждает, что это преимущественно уязвимые развёртывания LiteLLM и Ollama, а также сотни серверов, на которых работают PDF-конвертер Gotenberg и набор инструментов разработки Gitea; устройства Ivanti Sentry также входят в сферу охвата. После заражения эти серверы использовались для майнинга криптовалюты и были перепрофилированы в сканеры и серверы для эксплуатации уязвимостей — то, что Райан Инглиш из Black Lotus Labs в интервью CyberScoop назвал «частной армией прокси-серверов с поддержкой ИИ». Тот же отчёт вендора был передан изданию The Hacker News, которое в тот же день опубликовало собственный материал.

Деталь, которая делает эту запись достойной прочтения, — не масштаб. Это система командного управления: во вредоносном ПО нет ни жёстко прописанного домена, ни резервного IP-адреса. Адрес текущего C2-сервера вычисляется во время выполнения из четырёх слов, взятых из стихотворения, размещённого в публичном репозитории GitHub. Отредактируйте стихотворение — и весь ботнет переедет.

Что на самом деле было скомпрометировано?

По данным отчёта Lumen, жертвами стали корпоративные сервисы AI и сервисы для разработчиков, доступные из интернета: развёртывания LiteLLM и Ollama, сотни серверов PDF-конвертации Gotenberg и Gitea. Исследователи Lumen пришли к выводу, что кампания также затронула Ivanti Sentry. Основными целями сканирования были порты 3000 и 4000 — порты прослушивания по умолчанию для Gotenberg и LiteLLM соответственно.

Две уязвимости важны для понимания того, как был получен доступ к машинам, и отчёт внимательно рассматривает обе:

• Ivanti Sentry, CVE-2026-10520. По словам Lumen, её исследователи впервые столкнулись с инфраструктурой PoeLLM при расследовании этой уязвимости в защищённом мобильном шлюзе Ivanti. В начале июня 2026 года скомпрометированный Ivanti Sentry, ставший жертвой, обратился к выделенному серверу по адресу 5.78.73[.]122 и вскоре после этого начал сканировать другие уязвимые устройства. Обратите внимание на оговорку: в собственном списке ключевых выводов Lumen кампания описывается как «возможное нацеливание на Ivanti Sentry», тогда как в основной части того же отчёта это устройство описывается как реальная жертва. Это внутреннее расхождение присутствует в первоисточнике.

• LiteLLM, CVE-2026-42271. Один образец PoeLLM, который исследовала Lumen, нацеливался на конечную точку LiteLLM "/mcp-rest/test/connection", которая, по словам Lumen, "вероятно, была путём эксплуатации" уязвимости внедрения команд в LiteLLM, идентифицированной как CVE-2026-42271. В отчёте CyberScoop та же точка входа описывается как дефект максимальной серьёзности в Ivanti Sentry без указания CVE, а уязвимость LiteLLM в нём не рассматривается; The Hacker News не называет ни одну из этих CVE. Уязвимость конечной точки LiteLLM MCP — та, которую этот архив зафиксировал ранее в 2026 году, до того как эта кампания была задокументирована.

Украденный доступ давал оператору вычислительные ресурсы и данные. «Открытые сервисы ИИ/LLM ценны не только из-за уязвимостей программного обеспечения, но и потому, что они могут содержать полезные данные и работать на мощном оборудовании, подходящем для майнинга», — написал Lumen. Инглиш рассказал CyberScoop, что вредоносное ПО также обладает функциональностью удалённого выполнения кода, которая могла бы позволить оператору злоупотреблять моделями ИИ, работающими на серверах жертв, — это указано как возможность, а не как наблюдавшийся результат.

Стихотворение, которое также является таблицей поиска

Упомянутая учётная запись GitHub — «ejejejdfbbebe», а репозиторий — это форк исходного кода сайта nodejs.org, который, по-видимому, никак не связан с самим Node.js. Внутри него, в файле с именем «dash.css» — имени файла, которого нет в оригинальном репозитории, — оператор разместил стихотворение из двух строф под названием «О природе связи». Lumen насчитал 11 обновлений в нём с первого коммита 13 апреля 2026 года; CyberScoop сообщает, что формулировка менялась «как минимум дюжину раз».

Как зафиксировано Lumen в сентябре 2026 года, первая строфа читалась так: «В безмолвном гуле драйвера машины начинают говорить, каждый импульс диода продевает свет сквозь медные жилы. Мы научили тьму нести смысл, байт за байтом — язык, созданный из молнии, холодный и чистый». Вторая строфа включает строку: «За стеной шифрования сигнал находит свой путь, тиканье далёких серверов отвечает в ответ».

A screenshot of a technical explainer card titled 'Four words from a poem, read as a number'. The left column is headed 'Extracted from the verse' and quotes two lines of the poem with four words highlighted: driver, diode, encryption and distant servers. A note below explains that the fourth word is recovered by searching for the string 'of distant servers', stepping back to the previous whitespace and requiring the four bytes before the word to spell 'the '. The right column is headed 'Matched in a hard-coded dictionary' and lists four mappings: driver equals 92, diode equals 119, decryption equals 165, string equals 74. A result box at the bottom reads 'C2 address 92.119.165[.]74'. A footer reads 'Extraction logic and conversion key per Lumen Black Lotus Labs; worked example from a sample recovered June 23, 2026. Card rendered by OrcaRouter.'

Извлечение механическое. Функция, которую Lumen называет extract_poem_phrase_field, извлекает три фразы из фиксированных позиций в стихе — текст между "In the silent hum of " и следующей запятой, между "each pulse of " и " threading," и между "Beyond the wall of " и следующей запятой. Четвёртое слово извлекается иначе: поиском строки "of distant servers,", шагом назад к предыдущему пробельному символу, проверкой, что четыре предшествующих байта образуют "the ", и взятием слова после него. Затем каждое из четырёх слов сопоставляется с жёстко заданным словарём, скомпилированным в бинарный файл, а четыре полученных числа конкатенируются в IPv4-адрес. В образце, который Lumen восстановил 23 июня 2026 года, "driver" соответствовало 92, "diode" — 119, "decryption" — 165, а "string" — 74, что даёт 92.119.165[.]74.

Поскольку на протяжении 11 наблюдаемых версий менялись только четыре ключевых слова, а схема декодирования никогда не менялась, перемещение ботнета обошлось оператору всего в несколько правок публичного текстового файла. «Самое интересное в подходе с поэмой — это то, что IP-адрес, используемый для C2-коммуникаций, невидим за пределами netflow жертвы», — сообщил Инглиш изданию CyberScoop. «Для любого, кто наткнётся на него, это просто стихотворение на GitHub. В нём нет ссылок, нет файлов для скачивания, нет зашифрованного текста, который можно было бы легко пометить как вредоносный, даже продвинутыми моделями. Не было бы никакой причины для любого исследователя безопасности считать это стихотворение вредоносным — или знать об IP-адресе, скрытом в нём, — если только у них не было доступа к вредоносному ПО, ссылающемуся на него.»

Lumen заявляет, что, по его мнению, стихотворение, вероятно, было написано ИИ, и называет это предположением, а не установленным фактом. Обоснование, по словам Инглиша в беседе с The Hacker News: стихотворение сработало бы на любом языке, однако сам актор, судя по всему, предпочитает итальянский. Это суждение о стиле письма, а не форензическая атрибуция текста конкретной модели.

Что делает вредоносное ПО после того, как оно попадает в систему

Полезная нагрузка, проанализированная Lumen, представляет собой ELF-файл, распространяемый под именем «libgcrypt», с хешем SHA-256 6fab94577364beec314afae3b082dd680933f08a8349b9f35b92667e8231b501. Согласно анализу Lumen, она включает удалённую оболочку, майнеры криптовалют Iron и XMRig, возможности сканирования HTTP и HTTPS, а также развёртывание эксплойтов против уязвимых целей.

Заражённые хосты отправляют маяковые сигналы обратно на один из нескольких портов C2 — 3778, 5001, 5002 или 9999 — и им предписано загружать дополнительные файлы с порта 81 на сервере C2 (среди наблюдавшихся путей — /private/python3.6 и /private/bins.sh). Выплаты за майнинг направляются в российский майнинговый сервис Kryptex: Lumen наблюдал, как жертвы обращались к 5.180.174[.]162:8029 и 46.21.245[.]211:7029, на котором размещён edge-ru-07[.]kryptex[.]network. Наиболее распространённой общей чертой первых 900 жертв после контакта с первоначальным C2 был контакт с этой конечной точкой Kryptex.

Ботнет также растёт самостоятельно. Скомпрометированные серверы превращались в сканеры и серверы эксплойтов: сервер эксплойтов отправляет специально сформированный HTTP POST-запрос открытому сервису на недавно обнаруженной цели, предписывая ему загрузить вредоносное ПО с C2. Совсем недавно Lumen наблюдала пулы жертв, атакующих SSH-порты и другие порталы для входа, что она расценивает как возможные эксперименты с распределённой системой брутфорса. Lumen прямо характеризует это как незрелое и недоказанное: многие из целей были выделенными серверами в Италии, и исследователи оценивают эту возможность как «возможно, находившуюся на ранних стадиях разработки».

Таймлайн, и два числа, которые не совпадают

A screenshot of a timeline card titled 'How the campaign unfolded, April to October 2026', subtitled 'Active since at least April 2026; disclosed 7 October 2026 by Lumen Black Lotus Labs'. The entries read: 'APR 13, 2026 — First commit to the GitHub repository. First decoded C2 is 191.37.28.160, a router in Brazil.' 'APR 13, +1 HOUR — That C2 contacts 57.131.5.211:80 in Italy, hosting malwarescan[.]xyz (registered February 2026).' 'MAY 2026 — Broader scanning and exploitation begins, especially against LiteLLM and Gotenberg. New C2 at 120.224.114.212, geolocated to China.' 'EARLY JUNE 2026 — A compromised Ivanti Sentry victim contacts 5.78.73.122, then begins scanning for other vulnerable devices.' 'MID-JUNE 2026 — Peak of operations: almost 2,200 affected servers, with nearly 800 active per day.' 'JUNE – SEP 2026 — The poem is revised 11 times; each revision points the botnet at a new C2. 12 C2 addresses identified in total.' 'OCT 7, 2026 — Lumen publishes. The staging repository is no longer accessible and the C2s are null-routed; three C2s were still active at publication.' A footer reads 'Dates and figures per Lumen Black Lotus Labs, published Oct 7, 2026. Card rendered by OrcaRouter.'

Первый расшифрованный C2 кампании — 191.171.28[.]160, бразильский маршрутизатор с веб-сервером Boa на порту 2222, уязвимым к CVE-2018-21027 и CVE-2018-21028, хотя Lumen не обнаружила прямых доказательств того, что именно они были точкой входа. Примерно через час после первого коммита в GitHub этот C2 связался с сервером в Италии по адресу 57.131.5[.]211:80, на котором размещался домен malwarescan[.]xyz, зарегистрированный в феврале 2026 года. Lumen сообщает, что не видела другого заметного трафика к API-эндпоинту этого домена, и оценивает, что домен может принадлежать оператору PoeLLM. Майская ревизия переместила C2 на 120.224.114[.]212 — хост с геолокацией в Китае, который, как и бразильский хост, запускал уязвимый веб-сервер Boa со страницей администратора маршрутизатора. Всего Lumen выявила 12 IP-адресов C2; три всё ещё были активны на момент публикации — 92.119.164.50 (впервые замечен 23 июля 2026 года), 103.249.201.108 (впервые замечен 13 августа 2026 года) и 178.128.14.204 (впервые замечен 16 июня 2026 года).

A screenshot of a comparison card titled 'Three figures and how they relate', subtitled 'Peak and cumulative counts are not the same measurement, and the report states both.' Three panels sit side by side. The first, headed 'Key takeaways, Lumen Black Lotus Labs, Oct 7, 2026', shows the figure 3,400+ with the caption 'victim servers impacted, and peak activity exceeding 800 active servers per day.' The second, headed 'Body paragraph, same report', shows the figure ~2,200 with the caption 'victim servers impacted since the malware emerged in April, at a peak of almost 800 active per day.' The third, headed 'Mid-June peak, same report', shows the figure ~2,200 with the caption 'affected servers at the peak of operations, with nearly 800 active each day.' A note below reads 'Which of the two impacted-server figures is the cumulative count is not made explicit in the report. The archive's confidence grade covers the documentation, not the reconciliation of these numbers. Card rendered by OrcaRouter.'

Lumen также называет предполагаемый сервер управления: 185.119.19[.]171 в Италии, на котором ранее размещались панели мониторинга Prometheus и Uptime Kuma и к которым обращались несколько C2. В отчёте эта атрибуция указана с умеренной уверенностью.

Что касается масштаба, в первоисточнике есть две цифры, которые явно не согласуются между собой, и обе заслуживают упоминания. В ключевых выводах Lumen говорится, что PoeLLM «затронул более 3 400 серверов-жертв». В одном из абзацев основной части того же отчёта сказано, что кампания «затронула почти 2 200 серверов-жертв», а Lumen отдельно описывает пик операций в середине июня как затронувший почти 2 200 серверов, при этом почти 800 были активны ежедневно. The Hacker News трактует эти числа как текущий суммарный показатель (более 3 400) плюс пик середины июня (почти 2 200, почти 800 в день). Какая из двух цифр Lumen представляет собой совокупное число пострадавших, в самом отчёте прямо не указано.

Установлено, оценено и всё ещё неизвестно

Стоит различать три вида утверждений в этой записи, поскольку оценка достоверности архива относится к документации, а не ко всякому выводу внутри неё.

• Установлено из самого вредоносного ПО: механизм C2 на основе стихотворения, функция извлечения и словарь, возможности полезной нагрузки (удалённая оболочка, майнеры Iron и XMRig, сканирование, развёртывание эксплойтов), список IP-адресов C2, порты beacon и конечные точки Kryptex. Они получены в результате анализа артефактов и netflow и составляют основную часть отчёта.

• Оценено с заявленным уровнем уверенности:Атрибуция италоязычного субъекта угрозы, со средней уверенностью, на основании комментариев на итальянском языке во вредоносном ПО и на страницах этого субъекта на GitHub, а также индикаторов netflow, указывающих на Италию. Итальянский сервер 185.119.19[.]171 как административный интерфейс ботнета, также со средней уверенностью. Конечная точка LiteLLM как «вероятный» путь эксплуатации. Утверждение, что стихотворение, вероятно, написано ИИ, — это умозаключение, основанное на языковых предпочтениях, а не технический вывод.

• Открытые или неподтверждённые вопросы:сколько человек управляют кампанией (неизвестно), связана ли она с какой-либо другой группой или кампанией (не наблюдалось), было ли устройство Ivanti Sentry эксплуатируемой точкой входа или случайным элементом (в ключевых выводах говорится с оговорками, в основном тексте оно описывается как пострадавшее), и насколько зрелой является способность к распределённому брутфорсу. Lumen сообщает, что достижения оператора за пределами сканирования и криптомайнинга остаются предметом расследования.

Для репортажа существует независимое подтверждение, но не для лежащей в его основе телеметрии. CyberScoop и The Hacker News 7 октября 2026 года опубликовали собственные материалы с независимыми интервью с Black Lotus Labs, и их детали — показатель «более 3 400», механизм со стихотворением, атрибуция по итальянскому языку, связь с Kryptex — совпадают с отчётом поставщика. Однако оба восходят к одному и тому же первичному исследованию. По состоянию на 10 октября 2026 года ни одна другая исследовательская организация или регулятор не опубликовали независимый анализ PoeLLM, поэтому ничто здесь не следует воспринимать как воспроизведённое какой-либо стороной, кроме Lumen.

Что изменилось после раскрытия?

Самый значимый ответ пришёл не в виде патча. GitHub-репозиторий, где размещалось стихотворение, «больше не доступен» — по словам Lumen, это событие «полностью подрывает кампанию». English сказал The Hacker News: «Мы думаем, что это был его единственный репозиторий, и он полностью выведен из строя». Lumen уведомила GitHub и обнулила маршруты для прежних и активных C2-серверов актора — изменение, которое, по словам English, вступило в силу в начале вечера вторника накануне публикации. Причина удаления репозитория не подтверждена — English сказал The Hacker News, что это «могло быть связано с тем, что его пометили как злоупотребление, либо актор свернул лавочку и затих на этой платформе». Поскольку C2 вычислялся, а не был жёстко прописан, удаление таблицы поиска лишает ботнет возможности находить собственную инфраструктуру.

Lumen заявляет, что во время расследования блокировала весь трафик к серверам C2 PoeLLM и от них, а клиенты Lumen Defender были защищены от этих серверов с момента их обнаружения. Опубликованные ею рекомендации для защитников — это рутинная гигиена, применённая к необычному набору целей: проверять сетевые журналы на соответствие индикаторам компрометации, опубликованным в её собственном репозитории на GitHub, проводить аудит внешней экспозиции после установки инструментов с открытым исходным кодом, максимально ограничивать служебные порты, поддерживать маршрутизаторы, межсетевые экраны и IoT-устройства в актуальном состоянии с установленными обновлениями и перезагружать их, а также включить ИИ-сервисы в управление поверхностью атаки. Она также указывает на руководство по установке Gotenberg, которое уже предупреждает пользователей не открывать доступ к сервису из интернета — предупреждение, которое, очевидно, появилось после того, как сотни серверов Gotenberg были скомпрометированы.

Ничто в записи не указывает на техническое решение для самой схемы трафика: стихотворение не было уязвимостью в GitHub, Node.js, LiteLLM или Ollama. Это был общедоступный текстовый файл, единственный смысл которого существовал внутри бинарника, имевшегося лишь у очень немногих.

Почему это запись об инциденте с ИИ

Архив регистрирует это как инцидент с подтверждённым участием ИИ, помеченный INFRA и WEAPON, высокой степени серьёзности, с зафиксированным реальным ущербом — и ущерб этот конкретный, а не предположительный: тысячи доступных из интернета серверов, чьи вычислительные ресурсы были украдены, а доступ перепрофилирован, в кампании, которую Lumen описывает как финансово мотивированную, а не нацеленную на сами модели. Элемент ИИ — это выбор целей. Серверы, на которых работают шлюзы LLM и локальные среды выполнения моделей, развёртываются самостоятельно, часто доступны из интернета, нередко устанавливаются без цикла патчей и находятся на оборудовании, которое эффективно майнит. Сам Lumen формулирует это так: инфраструктура ИИ становится привлекательной целью именно из-за такого сочетания — открытые сервисы с известными уязвимостями, полезные данные и быстрое, энергоёмкое оборудование.

Оружейный аспект — это дизайн C2, и он выходит за рамки этой кампании. Жёстко заданный домен или IP-адрес можно заблокировать, отправить в sinkhole или использовать для фингерпринтинга вредоносного ПО. С производным адресом, единственный артефакт которого — безобидный на вид публичный документ, этого сделать нельзя — если только у аналитика нет бинарного файла. То, что English сказал CyberScoop — что многие C2 этой кампании так и не появились в краудсорсинговых средствах безопасности, — показывает, насколько хорошо это сработало.

Поскольку срыв кампании опирается на единственный репозиторий, а не на исправленную уязвимость, статус кампании после 7 октября действительно неопределён, а не закрыт: Lumen заявляет, что потеря репозитория «полностью срывает» её, и отдельно говорит, что три сервера C2 всё ещё были активны на момент публикации. Lumen публикует собственные индикаторы компрометации в собственном репозитории на GitHub, а показатели записи — степень серьёзности, оценка уверенности и зафиксированный ущерб — принадлежат архиву, а не поставщику.

Это одна запись. Всё остальное — другие раскрытия, их уровни серьёзности и достоверности, а также то, что защитники на самом деле предприняли в ответ на них, — архив инцидентов с ИИсопоставляет каждое из них с первоисточниками, так что о такой кампании можно судить вместе с предшествовавшими ей инцидентами, а не в отрыве от них.

© 2026 OrcaRouter

Провайдерам

Управляете инференс-платформой? Разместите свои модели на OrcaRouter.

providers@orcarouter.ai

Присоединяйтесь к сообществу

Discordsupport@orcarouter.aiXGitHubYouTube