Ssylka

Вторая волна червеобразной атаки Shai-Hulud прорвала защиту экосистем npm и Maven

Исследовательская группа Socket Research Team сообщила изданию The Hacker News о начале второй волны масштабной атаки на цепочки поставок, получившей название Shai-Hulud. В обновленном отчете, опубликованном во вторник, эксперты отметили агрессивное распространение вредоносного ПО, которое вышло за пределы экосистемы JavaScript (npm) и проникло в среду Java (Maven). Атака характеризуется как самовоспроизводящаяся, скрытная и разрушительная, использующая червеобразные механизмы для масштабирования заражения.
Вторая волна червеобразной атаки Shai-Hulud прорвала защиту экосистем npm и Maven
Изображение носит иллюстративный характер

Хронология инцидента берет начало в августе 2025 года, когда стартовала широкая кампания S1ngularity, затронувшая пакеты Nx в реестре npm. Первоначальный вариант цепочки заражения Shai-Hulud был зафиксирован в сентябре 2025 года. Новая фаза атаки, обозначенная как v2, продемонстрировала значительную эволюцию методов злоумышленников, направленную на обход существующих систем безопасности и расширение поверхности атаки.

Масштаб поражения в экосистеме npm превысил 830 скомпрометированных пакетов. Злоумышленники публиковали троянизированные версии библиотек через взломанные учетные записи сопровождающих (мейнтейнеров). Однако наиболее тревожным событием стало выявление первого скомпрометированного пакета в среде Maven: org.mvnpm:posthog-node:4.18.1. Важно отметить, что данный пакет не был опубликован компанией PostHog напрямую; он был сгенерирован через mvnpm — автоматизированный процесс, пересобирающий пакеты npm в артефакты Maven.

Реакция со стороны администраторов Maven Central последовала незамедлительно. К 22:44 UTC 25 ноября 2025 года было подтверждено, что все зеркальные копии скомпрометированного пакета были удалены. В дополнение к чистке репозитория, Maven Central внедряет дополнительные меры защиты для предотвращения повторной сборки и распространения известных зараженных компонентов npm в среде Java.

Техническая реализация атаки включает внедрение двух ключевых вредоносных компонентов: загрузчика "setup_bun.js" и основной полезной нагрузки "bun_environment.js". Инфекция эксплуатирует неправильные конфигурации непрерывной интеграции (CI) в существующих GitHub Actions, нацеливаясь на триггеры pull_request_target и workflow_run. По словам исследователя безопасности Ильяса Макари из Aikido, злоумышленники «использовали рискованный триггер pull_request_target таким образом, который позволял выполнять код, предоставленный любым новым запросом на слияние (pull request)».

Процесс заражения начинается с загрузки разработчиками инфицированных библиотек, после чего вредоносный код устанавливает бэкдор на машине жертвы. Скрипт сканирует систему на наличие секретов, включая API-ключи, облачные учетные данные, токены npm и GitHub, а затем эксфильтрует данные. Вредоносное ПО регистрирует машину жертвы как "self-hosted runner" (саморазмещенный раннер), что позволяет выполнять произвольные команды при открытии GitHub Discussion, и систематически собирает конфиденциальную информацию.

Новая версия Shai-Hulud v2 получила ряд технических усовершенствований для повышения скрытности и эффективности. Ропен Славин и Рони Кузницки из компании Cycode отметили использование среды выполнения Bun для сокрытия основной логики вредоносной программы. Лимит инфекции был увеличен с 20 до 100 пакетов, а для эксфильтрации данных теперь используются случайно названные публичные репозитории GitHub, вместо единственного жестко закодированного репозитория, что усложняет блокировку каналов утечки.

Общее влияние атаки оценивается как критическое: затронуто более 28 000 репозиториев, а в GitHub было загружено более 5 000 файлов, содержащих украденные секреты. Среди скомпрометированных проектов оказались такие крупные имена, как AsyncAPI, Postman и PostHog (релизы последнего пострадали как в npm, так и в Maven). Надав Шаркази, менеджер по продукту в Apiiro, назвал этот инцидент одной из самых значимых атак года.

Дэн Лоренц, соучредитель и генеральный директор Chainguard, прокомментировал ситуацию, подчеркнув хрупкость современной разработки. По его мнению, единственной реальной защитой является изменение способов создания и потребления программного обеспечения, поскольку подобные атаки используют пробелы в процессах публикации и упаковки, а не уязвимости нулевого дня.

Для нейтрализации угрозы пользователям рекомендуется немедленно провести ротацию всех токенов и ключей, а также выполнить полный аудит зависимостей. Необходимо удалить скомпрометированные версии библиотек и переустановить чистые пакеты. В качестве долгосрочных мер защиты эксперты советуют ужесточить среды разработки: внедрить принцип наименьших привилегий, использовать сканирование секретов и применять автоматизированное соблюдение политик безопасности в CI/CD конвейерах.


Новое на сайте

18657Хакеры ToddyCat обновили арсенал для тотального взлома Outlook и Microsoft 365 18656Асимметрия безопасности: почему многомиллионные вложения в инструменты детекции не... 18655Как безопасно использовать репозитории Chocolatey и Winget, не подвергая инфраструктуру... 18654Масштабная утечка конфиденциальных данных через популярные онлайн-форматеры кода 18653Как расширение списка жертв взлома Gainsight связано с запуском вымогателя ShinySp1d3r от... 18652Как расширение Crypto Copilot незаметно похищает средства пользователей Solana на... 18651Как обновление политик безопасности Microsoft Entra ID в 2026 году искоренит атаки через... 18650Архитектурная уязвимость Microsoft Teams позволяет хакерам отключать защиту Defender 18649Вторая волна червеобразной атаки Shai-Hulud прорвала защиту экосистем npm и Maven 18648Смогут ли современные центры мониторинга безопасности пережить 2026 год и победить угрозы... 18647Как глубокие разломы земной коры способны «исцеляться» всего за несколько часов после... 18646Телескоп Fermi вероятно зафиксировал первый в истории сигнал от темной материи 18645Варварское расчленение и вековая тайна уничтожения мумии Тутанхамона 18644Загадочная стопа из буртеле подтвердила сосуществование разных видов предков человека 18643Уязвимость заброшенного домена в экосистеме Python открывает вектор атак на цепочку...