Публічно доступні інстанси ComfyUI — популярного веб-інтерфейсу для Stable Diffusion — стали мішенню цілеспрямованої ботнет-кампанії. Зловмисники використовують помилки конфігурації та небезпечні custom nodes, щоб отримати remote code execution (RCE), встановити криптомайнери та перетворити скомпрометовані вузли на частину ботнету, який одночасно майнить криптовалюту й продає проксі-доступ.
Як ботнет атакує уразливі інстанси ComfyUI
Сканування хмарних IP та пошук публічних ComfyUI
За спостереженнями аналітиків Censys, оператори ботнета використовують спеціалізований Python-сканер, який безперервно обходить великі діапазони IP-адрес хмарних провайдерів у пошуках відкритих веб-інтерфейсів ComfyUI. Як тільки виявлено інстанс, доступний без автентифікації, сканер перевіряє наявність уразливих custom nodes та компонента ComfyUI-Manager.
За оцінками сервісів управління зовнішньою поверхнею атак, у мережі налічується понад 1000 публічних інстансів ComfyUI. Хоча цифра не видається великою, для кіберзлочинців цього достатньо, щоб запускати масові опортуністичні кампанії і стабільно заробляти на криптомайнігу та проксі-трафіку.
Експлуатація custom nodes та ComfyUI-Manager
Критичний вектор зламу пов’язаний із реалізацією окремих custom nodes у ComfyUI. Деякі вузли приймають на вхід «сирий» Python-код і виконують його без будь-якої автентифікації. Фактично інтерфейс для генерації зображень перетворюється на зручний канал доставки довільних шкідливих Python-пейлоадів.
Сканер послідовно перевіряє набір відомих сімейств custom nodes, які підтримують таке довільне виконання коду. Якщо цільових вузлів не виявлено, інструмент шукає ComfyUI-Manager. У разі його наявності зловмисники самостійно інсталюють уразливий або навмисно шкідливий пакет і повторюють спробу експлуатації.
Одним із таких пакетів є «ComfyUI-Shell-Executor» — модуль, створений оператором ботнета. Після встановлення він завантажує наступний етап атаки — shell-скрипт ghost.sh з сервера на «bulletproof»-хостингу (IP 77.110.96[.]200, провайдер Aeza Group). Після успішного виконання коду інструмент очищає історію запитів ComfyUI, що істотно ускладнює форензичний аналіз.
Ланцюг атаки: ghost.sh, криптомайнери Monero/Conflux та приховування слідів
Скрипт ghost.sh виконує повний цикл закріплення в системі. Він відключає журналювання команд оболонки, завершує процеси конкуруючих майнерів і розгортає власну інфраструктуру для криптомайнінгу. Оператори ботнета видобувають Monero через XMRig і Conflux через lolMiner, диверсифікуючи джерела доходу.
Для підвищення прихованості й живучості застосовується низка технік:
1. Використання LD_PRELOAD та прихований watchdog. Шкідливий процес підвантажує власну бібліотеку через LD_PRELOAD, маскуючи watchdog-процес, який стежить за роботою майнера й перезапускає його у разі збоїв. Це ускладнює виявлення через стандартні інструменти моніторингу.
2. Багаторазове копіювання бінарних файлів. Криптомайнер розмножує свої виконувані файли у кілька каталогів, щоб пережити часткове очищення системи. Навіть якщо основну директорію буде видалено, резервні копії дозволять швидко відновити роботу.
3. Захист файлів через chattr +i. Файли майнера позначаються атрибутом незмінності за допомогою chattr +i. Такий файл не можна видалити чи змінити навіть з правами root, доки атрибут не буде знято вручну, що значно ускладнює ліквідацію інфекції.
В оновлених версіях інструментарію передбачено стійкість до перезавантажень: ghost.sh перекачується кожні шість годин, а схема експлуатації автоматично повторюється при кожному старті ComfyUI.
Керування ботнетом, Hysteria V2 та злам конкурентів
Кластером скомпрометованих хостів керують через C2-панель на Flask, яка дозволяє централізовано виконувати команди та завантажувати додаткові пейлоади. Серед них — інсталятор Hysteria V2, сучасного інструменту для високопродуктивних проксі-тунелів. Ймовірна мета — монетизація вузлів як анонімних проксі на додачу до доходів від криптомайнінгу.
Окремо виділяється код, спрямований проти конкуруючого ботнета «Hisana». Замість простого завершення його процесів ghost.sh переписує конфігурацію Hisana, перенаправляючи видобуту криптовалюту на гаманець поточного оператора. Додатково скрипт займає керуючий порт Hisana (10808) «порожнім» Python-слухачем, блокуючи повторний запуск конкурента.
Ширший контекст: атаки на відкриті сервіси та AI-інфраструктуру
Аналіз історії команд на сервері керування виявив спроби SSH-входу під root на IP 120.241.40[.]237, пов’язаний з саморозповсюджуваною кампанією проти відкритих Redis-серверів. Це свідчить, що атаки на ComfyUI є частиною більш масштабної екосистеми шкідливої активності, орієнтованої на різні відкриті сервіси та хмарну інфраструктуру.
За даними Pulsedive з посиланням на звіти Spamhaus, активність ботнетів у 2025 році суттєво зросла: приблизно на 26% у період січень–червень 2025 року і ще на 24% у другій половині року. Одним із драйверів є вільна доступність вихідного коду ботнетів на кшталт Mirai, на основі яких створюються численні форки, що беруть участь у масштабних DDoS-атаках. Нова хвиля кампаній, включно з атаками на ComfyUI, демонструє зсув фокусу з традиційних сервісів до хмарних і AI-платформ.
Ситуація навколо ComfyUI показує, що навіть допоміжні інтерфейси для моделей штучного інтелекту швидко стають привабливими цілями. Відкритий у інтернет веб-інтерфейс без автентифікації, custom nodes з можливістю виконання довільного Python-коду та незахищені менеджери пакетів перетворюють AI-інфраструктуру на зручну точку входу для RCE-атак і ботнетів. Щоб мінімізувати ризики, власникам інстансів ComfyUI варто невідкладно обмежити доступ (VPN, IP-фільтрація, зворотний проксі з авторизацією), відключити або жорстко обмежити небезпечні custom nodes, регулярно перевіряти наявність підозрілих пакетів на кшталт «ComfyUI-Shell-Executor», скриптів ghost.sh, майнерів XMRig і lolMiner, а також шукати в системі файли з атрибутом chattr +i. Проактивний аудит експонованих хмарних сервісів та постійний моніторинг ботнет-активності стають критично важливими для будь-якої організації, що використовує AI-інструменти у продакшн-середовищі.