Червь Shai-Hulud: значительная угроза экосистеме NPM

Червь Shai-Hulud: значительная угроза экосистеме NPM

Источник: www.stepsecurity.io

Коротко: новый самораспространяющийся червь под названием Shai-Hulud скомпрометировал более 500 пакетов в реестре NPM, включая широко используемый пакет @ctrl/tinycolor. Атака демонстрирует эволюцию supply chain-угроз — вредоносное ПО не только внедряет бэкдоры, но и автоматически распространяется по взаимосвязанным пакетам и репозиториям.

«Червь Shai-Hulud представляет значительную угрозу для экосистемы NPM».

Как работает атака: общая схема

Атака реализована по многоэтапной схеме и включает следующие ключевые механизмы:

  • Вредоносный пакет JavaScript (~3,6 МБ), который перехватывает postinstall-скрипты в процессе установки через npm.
  • Использование сложного модуля с кодом, разбитым с помощью Webpack (code splitting) для организации утилит ОС и взаимодействия с облачными API.
  • Сбор учетных данных из облачных платформ (AWS, GCP, Azure) и последующая эксфильтрация.
  • Сканирование файловой системы на предмет секретов с помощью TruffleHog — поиск высокоэнтропийных ключей и учетных данных для AWS и GCP.
  • Установка бэкдора в GitHub, реализованного через GitHub Actions, для получения persistency и удаленного выполнения кода с использованием определённых прав репозитория и workflow.
  • Сбор метаданных системы и компиляция полезной нагрузки в формате JSON, после чего данные загружаются в новый публичный репозиторий GitHub, созданный злоумышленниками.

Технические детали и особенности

Ключевые технические элементы, которые делают Shai-Hulud опасным:

  • Интерцепция postinstall: вредоносный модуль вмешивается в цепочку установки npm, позволяя выполнять произвольный код в момент установки пакета.
  • Webpack code splitting: модуль разделён на части, что облегчает поддержку набора утилит и скрывает вредоносную логику.
  • Атаки на облачные учетные данные: червь целится на все регионы AWS и сканирует окружение на наличие секретов, в том числе через TruffleHog для поиска высокоэнтропийных ключей AWS и GCP.
  • Использование безобидных библиотек: для взаимодействия с AWS злоумышленники применяют модуль, который корректно обрабатывает ошибки — это снижает вероятность обнаружения при ошибочных запросах.
  • Бэкдор в GitHub: вредоносный код может регистрировать и использовать разрешения репозитория и workflow, внедрять скрипты и запускать их через GitHub Actions.
  • Эксфильтрация данных: собранная полезная нагрузка упаковывается в JSON и выгружается в публичный GitHub-репозиторий, обеспечивая удобный доступ C2-инфраструктуре злоумышленников.

Почему это опасно

Shai-Hulud сочетает в себе несколько факторов, повышающих уровень риска:

  • способность к саморазмножению по цепочке зависимостей;
  • нацеливание на облачные креденшлы и широкие права в GitHub;
  • использование легитимных механизмов (postinstall, Webpack, GitHub Actions), что усложняет детектирование;
  • публичная эксфильтрация данных — злоумышленники не полагаются на приватные C2 и используют GitHub для хранения похищенной информации.

Практические рекомендации по защите

Эксперты настоятельно рекомендуют незамедлительно предпринять следующие шаги:

  • Немедленно сменить учетные данные (ключи доступа, токены сервисов) и отозвать подозрительные креденшлы.
  • Провести всесторонний аудит облачной инфраструктуры — проверить IAM-политики, роли и права доступа в AWS, GCP и Azure.
  • Проверить журналы доступа в AWS и GCP Secret Manager на предмет необычных схем доступа и несанкционированных действий учетных записей сервисов.
  • Усилить безопасность GitHub:
    • удалить ненужные приложения и интеграции;
    • аудит webhooks и внешних подключений к репозиторию;
    • внедрить правила защиты веток (branch protection) и ограничить права на запуск GitHub Actions.
  • Ограничить распространение вредоносных версий пакетов: ввести проверку времени восстановления (package restore time) и обязательную верификацию новых релизов перед автоматическим обновлением зависимостей.
  • Внедрить мониторинг артефактов: использовать инструменты, такие как StepSecurity Artifact Monitor, для быстрого выявления несанкционированных релизов и изменений в реестрах.
  • Регулярно сканировать кодовую базу и CI/CD-пайплайны на наличие подозрительных workflow и внедрённых скриптов.

Вывод

Shai-Hulud — показательный пример эволюции атак на цепочку поставок: злоумышленники комбинируют техники сбора секретов, скрытной персистентности через GitHub Actions и автоматической эксфильтрации данных. Организациям следует воспринимать подобные инциденты как сигнал к укреплению контроля над облачными учетными данными, ревизии прав в репозиториях и внедрению инструментов мониторинга артефактов. Быстрая реакция — смена ключей, аудит и повышенный надзор за релизами — может существенно снизить риск дальнейших компрометаций.

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

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

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