Четыре вредоносных npm-пакета распространяют клон червя Shai-Hulud и ботнет Phantom Bot

Фото автора

CyberSecureFox Editorial Team

Исследователи из OX Security обнаружили четыре вредоносных npm-пакета, опубликованных одним и тем же пользователем, но содержащих принципиально разные вредоносные нагрузки — от клона червя Shai-Hulud до DDoS-ботнета на Go и классических инфостилеров. Суммарно пакеты были загружены более 3 000 раз. Разработчикам, использующим npm, рекомендуется немедленно проверить свои зависимости на наличие указанных библиотек, удалить их при обнаружении и провести ротацию всех секретов, которые могли быть скомпрометированы.

Вредоносные пакеты и их функциональность

Все четыре пакета были опубликованы от имени npm-пользователя deadcode09284814. Примечательно, что, несмотря на общего автора, каждый пакет несёт уникальную вредоносную нагрузку:

  • chalk-tempalte (825 загрузок) — содержит практически неизменённый клон червя Shai-Hulud, исходный код которого был опубликован группой TeamPCP. По данным исследователей, злоумышленник лишь подставил собственный C2-сервер и приватный ключ.
  • axois-utils (963 загрузки) — доставляет DDoS-ботнет Phantom Bot, написанный на Go, с возможностью флуда по протоколам HTTP, TCP и UDP. Ботнет закрепляется в системе через папку автозагрузки Windows и планировщик задач.
  • @deadcode09284814/axios-util (284 загрузки) — инфостилер, похищающий SSH-ключи, переменные окружения, облачные учётные данные, системную информацию, IP-адрес и данные криптовалютных кошельков.
  • color-style-utils (934 загрузки) — аналогичный инфостилер с тем же набором целевых данных, но с отправкой на другой C2-сервер.

Названия пакетов эксплуатируют технику тайпсквоттинга: chalk-tempalte имитирует популярный chalk-template, а axois-utils — библиотеку axios. Это классический приём атак на цепочку поставок, рассчитанный на опечатки разработчиков при установке зависимостей.

Механизм эксфильтрации данных

Пакет chalk-tempalte с клоном Shai-Hulud отправляет украденные учётные данные на C2-сервер, а также использует украденный GitHub-токен для создания публичного репозитория через API GitHub. Созданный репозиторий получает описание «A Mini Sha1-Hulud has Appeared» — эта строка может служить индикатором компрометации при поиске утечек.

По данным OX Security, злоумышленник взял открытый исходный код Shai-Hulud и «почти без каких-либо изменений загрузил рабочую версию с собственным C2-сервером». Это демонстрирует крайне низкий порог входа для создания атак на цепочку поставок при наличии готового инструментария.

Индикаторы компрометации

  • C2-домены: 87e0bbc636999b.lhr[.]life, edcf8b03c84634.lhr[.]life
  • C2 IP-адрес: 80.200.28[.]28:2222
  • Маркер в GitHub: описание репозитория «A Mini Sha1-Hulud has Appeared»

Контекст угрозы

Появление этих пакетов связано с публикацией исходного кода червя Shai-Hulud группой TeamPCP. По оценке исследователей, клон в пакете chalk-tempalte мог быть вдохновлён конкурсом по атакам на цепочку поставок, анонсированным на форуме BreachForums вскоре после утечки кода. Однако эта связь основана на предположениях одного источника и не подтверждена независимо.

Ключевая особенность данного инцидента — мультивекторность. Один злоумышленник одновременно развернул четыре пакета с разными типами вредоносного ПО: червь-репликатор, DDoS-ботнет и два варианта инфостилера. Это может указывать как на тестирование различных подходов, так и на попытку максимизировать охват при минимальных усилиях.

Оценка воздействия

Основная группа риска — разработчики и DevOps-инженеры, работающие с экосистемой npm, особенно те, кто устанавливает зависимости без строгой проверки имён пакетов. Учитывая, что инфостилеры нацелены на SSH-ключи, облачные учётные данные и переменные окружения, компрометация одной рабочей станции разработчика может привести к каскадному доступу к облачной инфраструктуре, CI/CD-пайплайнам и приватным репозиториям организации.

Отдельную опасность представляет использование украденных GitHub-токенов для создания публичных репозиториев — это потенциальный канал утечки проприетарного кода и секретов.

Рекомендации по реагированию

  1. Проверить зависимости всех проектов на наличие пакетов chalk-tempalte, axois-utils, @deadcode09284814/axios-util, color-style-utils и немедленно удалить их при обнаружении.
  2. Провести ротацию секретов: SSH-ключи, токены GitHub, облачные учётные данные (AWS, GCP, Azure), API-ключи, переменные окружения — всё, что могло быть доступно на скомпрометированной машине.
  3. Проверить GitHub-аккаунты на наличие неизвестных репозиториев, особенно с описанием «A Mini Sha1-Hulud has Appeared».
  4. Удалить вредоносные конфигурации из IDE и инструментов вроде Claude Code, которые могли быть модифицированы вредоносным кодом.
  5. Заблокировать на уровне сети обращения к доменам 87e0bbc636999b.lhr.life, edcf8b03c84634.lhr.life и IP-адресу 80.200.28.28.
  6. Проверить планировщик задач (Windows) и папку автозагрузки на наличие подозрительных записей, связанных с Phantom Bot.

Данный инцидент наглядно показывает, как публикация исходного кода вредоносного ПО снижает барьер для проведения атак на цепочку поставок. Разработчикам следует внедрить автоматическую проверку зависимостей с помощью инструментов вроде npm audit, использовать lockfile для фиксации версий и рассмотреть применение политик ограничения на установку пакетов от непроверенных авторов. Организациям, обнаружившим любой из указанных пакетов в своей инфраструктуре, необходимо рассматривать инцидент как полную компрометацию рабочей станции и действовать соответственно.


CyberSecureFox Editorial Team

Редакция CyberSecureFox освещает новости кибербезопасности, уязвимости, malware-кампании, ransomware-активность, AI security, cloud security и security advisories вендоров. Материалы готовятся на основе official advisories, данных CVE/NVD, уведомлений CISA, публикаций вендоров и открытых отчётов исследователей. Статьи проверяются перед публикацией и обновляются при появлении новых данных.

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.