Исследователи из 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-токенов для создания публичных репозиториев — это потенциальный канал утечки проприетарного кода и секретов.
Рекомендации по реагированию
- Проверить зависимости всех проектов на наличие пакетов
chalk-tempalte,axois-utils,@deadcode09284814/axios-util,color-style-utilsи немедленно удалить их при обнаружении. - Провести ротацию секретов: SSH-ключи, токены GitHub, облачные учётные данные (AWS, GCP, Azure), API-ключи, переменные окружения — всё, что могло быть доступно на скомпрометированной машине.
- Проверить GitHub-аккаунты на наличие неизвестных репозиториев, особенно с описанием «A Mini Sha1-Hulud has Appeared».
- Удалить вредоносные конфигурации из IDE и инструментов вроде Claude Code, которые могли быть модифицированы вредоносным кодом.
- Заблокировать на уровне сети обращения к доменам
87e0bbc636999b.lhr.life,edcf8b03c84634.lhr.lifeи IP-адресу80.200.28.28. - Проверить планировщик задач (Windows) и папку автозагрузки на наличие подозрительных записей, связанных с Phantom Bot.
Данный инцидент наглядно показывает, как публикация исходного кода вредоносного ПО снижает барьер для проведения атак на цепочку поставок. Разработчикам следует внедрить автоматическую проверку зависимостей с помощью инструментов вроде npm audit, использовать lockfile для фиксации версий и рассмотреть применение политик ограничения на установку пакетов от непроверенных авторов. Организациям, обнаружившим любой из указанных пакетов в своей инфраструктуре, необходимо рассматривать инцидент как полную компрометацию рабочей станции и действовать соответственно.