Червь Shai-Hulud добрался до Maven Central: новая фаза атак на цепочку поставок ПО

CyberSecureFox 🦊

Вредоносный червь Shai-Hulud, ранее связывавшийся в основном с экосистемой npm, был зафиксирован в еще одном ключевом репозитории открытого ПО — Maven Central. Это свидетельствует о расширении кампании по атаке на цепочку поставок программного обеспечения и повышает риски для разработчиков, работающих как с JavaScript, так и с Java.

Обнаружение зараженного пакета в Maven Central

Специалисты компании Socket выявили в Maven Central пакет org.mvnpm:posthog-node:4.18.1, содержащий два характерных для Shai-Hulud компонента: загрузчик setup_bun.js и основной пейлоад bun_environment.js. Это те же самые файлы, которые использовались во второй волне атак червя в npm-экосистеме.

Исследователи отмечают, что в данном случае скомпрометирован не сам официальный Java-проект, а пакет, автоматически созданный с помощью процесса mvnpm, который пересобирает npm-пакеты в артефакты Maven. То есть вредоносный код «переехал» в Java-мир через механизм зеркалирования JavaScript-зависимостей.

Представители Maven Central уже заявили, что внедряют дополнительные меры для блокировки повторной упаковки уже известных скомпрометированных npm-компонентов, чтобы снизить риск дальнейшего распространения подобных артефактов.

Shai-Hulud v2: эволюция червя и цель — кража секретов

По данным исследователей, проект PostHog был скомпрометирован как в npm, так и в Maven, при этом во всех случаях использовался один и тот же пейлоад — Shai-Hulud версии 2. Новая версия червя стала заметно более скрытной и нацелена на кражу конфиденциальных данных разработчиков и DevOps-команд.

Отчеты компаний Wiz и других участников расследования показывают масштаб кампании: по состоянию на 24 ноября 2025 года более 25 000 репозиториев GitHub содержали украденные секреты, а каждые 30 минут появлялось около 1000 новых репозиториев с опубликованными данными.

Технический разбор: setup_bun.js и bun_environment.js

Эксперты Step Security установили, что вредонос состоит из двух ключевых файлов. setup_bun.js выступает в роли дроппера, маскируясь под установщик среды Bun. Основной пейлоад — это крупный файл bun_environment.js размером около 10 МБ, использующий сложные техники обфускации.

Код пейлоада содержит hex-кодированную строку с тысячами записей, отдельный цикл, предназначенный для усложнения анализа, и обфусцированную функцию, которая поочередно восстанавливает каждую строку кода. Такой подход затрудняет статический анализ и работу антивирусных и SCA-инструментов.

После успешного запуска Shai-Hulud выполняет многостадийную атаку, включая кражу секретов: токенов GitHub и npm, а также учетных данных AWS, Google Cloud и Microsoft Azure. Если вредоносу не удается выполнить четыре ключевых шага (пройти аутентификацию в GitHub, создать репозиторий, обнаружить токены GitHub и npm), он переходит к деструктивной фазе — перезаписывает содержимое домашнего каталога жертвы.

Эксплуатация GitHub Actions и масштаб утечки секретов

По данным Aikido Security, злоумышленники активно злоупотребляли некорректными настройками CI/CD-пайплайнов в GitHub Actions. В частности, использовались уязвимые сценарии с триггерами pull_request_target и workflow_run, что позволило атакующим получить доступ к защищенным токенам и выполнить произвольный код в чужих репозиториях.

Такие ошибки конфигурации привели к компрометации заметных open source-проектов, включая AsyncAPI, Postman и PostHog. Похищенные секреты затем автоматически публиковались в GitHub-репозитории с описанием «Sha1-Hulud: The Second Coming», что облегчало атакующим массовую агрегацию и дальнейшее злоупотребление этими данными.

По оценке GitGuardian, OX Security и Wiz, кампания привела к утечке сотен токенов GitHub и учетных данных облачных провайдеров. На GitHub было загружено более 5000 файлов с украденными секретами. Анализ 4645 репозиториев показал наличие 11 858 уникальных секретов, из которых 2298 оставались действительными и публично доступными на 24 ноября 2025 года.

Происходящее демонстрирует, насколько уязвима цепочка поставок ПО: компрометация одного популярного пакета или CI-конвейера создает каскадный риск для тысяч проектов, которые доверяют этим зависимостям и инфраструктуре.

Текущая волна атак Shai-Hulud подчеркивает необходимость комплексного подхода к безопасности разработки. Разработчикам и компаниям имеет смысл пересмотреть модели доверия к пакетным репозиториям и автозеркалам, включить строгую проверку зависимостей (SCA, блок-листы скомпрометированных артефактов), минимизировать привилегии GitHub Actions, отказаться от небезопасных триггеров без дополнительной валидации, а также внедрить регулярное сканирование секретов в репозиториях и логах CI. Чем раньше такие практики станут стандартом, тем ниже будет эффект от следующих волн атак на цепочку поставок ПО.

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

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