Коротко: новый самораспространяющийся червь под названием 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. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.
Оригинал публикации на сайте CISOCLUB: "Червь Shai-Hulud: значительная угроза экосистеме NPM".
Смотреть публикации по категориям: Новости | Мероприятия | Статьи | Обзоры | Отчеты | Интервью | Видео | Обучение | Вакансии | Утечки | Уязвимости | Сравнения | Дайджесты | Прочее.
Подписывайтесь на нас: VK | Rutube | Telegram | Дзен | YouTube.