Shai-Hulud атакует npm: заражение CI, GitHub и OIDC

11 мая 2026 года новая волна кампании червя Shai-Hulud нацелилась на экосистему npm, затронув, в частности, дерево зависимостей TanStack. По данным отчета, атака использовала технику отравления кэша continuous integration (CI) и эксплуатацию конечной точки публикации npm на основе OpenID Connect (OIDC). Вскоре после этого вредоносная активность вышла далеко за пределы исходной цели и затронула несколько пакетов npm, связанных с Mistral AI, UiPath и OpenSearch.

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

Кому приписывают атаку

Злоумышленная деятельность, по оценке авторов отчета, приписывается группе TeamPCP, ранее связанной с рядом инцидентов безопасности, включая инцидент с Trivy в марте 2026 года. Кампания демонстрирует высокий уровень подготовки: злоумышленники комбинировали ошибки конфигурации в рабочих процессах pull request в GitHub Actions с доступом на запись к кэшу CI репозитория.

Именно такой доступ позволил им внедрять вредоносные изменения в инфраструктуру сборки и распространения пакетов. В результате атака стала не только вопросом компрометации отдельных проектов, но и примером того, насколько опасными могут быть слабые места в автоматизированных процессах разработки.

Как работает Shai-Hulud

Червь Shai-Hulud действует по набору структурированных фаз, каждая из которых выполняет собственную задачу — от первичной проверки окружения до закрепления и эксфильтрации данных.

  • preflight — проверка контекста выполнения, в том числе поиск конкретных пакетов, таких как opensearch-js, внедрение backdoor и попытки кражи учетных данных.
  • Проверка языковой настройки системы: вредонос завершает работу, если установлена русская локаль.
  • Fast wins — активный сбор учетных данных из известных мест хранения и запуск команд, способных раскрыть конфиденциальную информацию.
  • Установка каналов управления C2: сначала через прямой контакт с основным сервером, а при неудаче — путем создания новых репозиториев GitHub для эксфильтрации данных.

Отдельно отчет отмечает фокус ВПО на сборе учетных записей в средах AWS и Kubernetes. Червь перебирает различные secret и configuration-файлы, а также ищет Bitcoin-wallets, в частности файлы wallet.dat.

Закрепление в среде разработки

Одна из наиболее примечательных особенностей кампании — способность вредоносного кода закрепляться в разнообразных средах разработки. В частности, он распространяется на:

  • Claude Code session hooks;
  • VS Code task automation;
  • другие механизмы, связанные с инструментами разработчика.

Такой подход позволяет червю сохраняться даже после выполнения команды npm uninstall. Иными словами, удаление пакета не обязательно приводит к удалению всех следов компрометации, если злоумышленник успел внедриться в связанные с ним процессы и автоматизацию.

Механизм распространения и «dead man’s switch»

Механизм распространения Shai-Hulud также выглядит нетривиально. Червь пытается распространяться, вставляя вредоносные файлы в несколько веток GitHub, особенно в папках, связанных с AI tools. Это позволяет ему использовать доверенные процессы разработки как канал дальнейшего заражения.

Отличительной особенностью ВПО является dead man’s switch: механизм, который каждую минуту проверяет ротацию токенов и удаляет определенные файлы из системы при обнаружении таких изменений. Такой элемент повышает устойчивость вредоносной логики и затрудняет анализ инцидента после срабатывания защитных мер.

Почему это важно для цепочки поставок

Авторы отчета подчеркивают, что текущая волна Shai-Hulud демонстрирует расширенный и хорошо организованный подход TeamPCP к краже учетных данных. Особенно тревожным фактором остается ориентация на рабочие процессы разработчиков и инфраструктуру CI/CD, где компрометация одного звена может привести к заражению множества зависимых проектов.

Публичный выпуск кода червя дополнительно усугубляет ситуацию. Он открывает возможность для других злоумышленников перенимать, дорабатывать и модифицировать использованные техники, что повышает риск новых атак в средах software supply chain.

Эта уязвимость позволяет другим злоумышленникам потенциально перенимать и модифицировать эти тактики для дальнейшей злонамеренной деятельности.

В результате кампания Shai-Hulud становится не просто очередным инцидентом в экосистеме npm, а показательной атакой на доверие к современным процессам разработки, автоматизации и публикации пакетов.

Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.

Ознакомиться подробнее с отчетом можно по ссылке.

Технологии киберугроз
Автор: Технологии киберугроз
Технологии киберугроз – технологическая компания, специализирующаяся на решениях по анализу угроз для предприятий любого размера. Мы собираем, нормализуем, обогащаем информацию о киберугрозах со всего мира. Нашими источниками являют более 260 открытых фидов, более 100 открытых поставщиков Threat Intelligence-отчетов, открытые online sandbox, социальные сети и репозитории GitHub. Мы также предоставляем ряд сервисов по: семантическом анализу Threat Intelligence-отчетов и приведения их в машиночитаемый формат STIX 2.1, проверки IoC на потенциальные ложноположительные сработки, а также получению WHOIS-записей для доменных имен.
Комментарии: