Обнаружена масштабная кампания по компрометации пакетов, получившая название Shai-Hulud. Изначально злонамеренное обновление было распространено через более чем 40 пакетов, включая критически важный @ctrl/tinycolor с еженедельной статистикой загрузок, превышающей 2,2 миллиона. К вечеру того же дня число заражённых пакетов превысило 500, среди которых оказались и компоненты, связанные с компанией CrowdStrike.
Описание
Атака демонстрирует беспрецедентный уровень автоматизации и способность к самораспространению. Вредоносный код, внедрённый в пакеты, использует функцию NpmModule.updatePackage для автоматического процесса троянизации: загружает архив пакета, модифицирует package.json, добавляет локальный скрипт (bundle.js), повторно собирает и публикует обновлённую версию в репозитории npm. Это позволяет злоумышленникам массово заражать все пакеты, принадлежащие скомпрометированному maintainer-у.
При установке такого пакета скрипт bundle.js автоматически выполняется. Его первым действием становится запуск легитимного инструмента TruffleHog, предназначенного для поиска секретов и учётных данных в системе. Скрипт сканирует переменные окружения, включая GITHUB_TOKEN, NPM_TOKEN, AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY, а также обращается к метаданным облачных провайдеров для получения временных учётных данных.
Далее происходит валидация найденных учётных записей разработчиков и CI-систем, внедрение workflow в GitHub Actions и отправка собранных данных через вебхук. Кроме того, malware делает все репозитории GitHub, доступные под компрометированным аккаунтом, публичными, что значительно увеличивает риски утечки интеллектуальной собственности и критичной инфраструктуры.
Особенностью Shai-Hulud является её червеподобное поведение. В отличие от классических атак на supply chain, эта кампания не ограничивается единичным пакетом - каждый заражённый компонент становится новым вектором распространения, что позволяет злоумышленникам быстро расширять воздействие на всю экосистему.
Компания Truesec уже зафиксировала случаи эксплуатации в своих SOC (Security Operations Center - центр управления безопасностью) и в естественной среде. Аналитики проводят активный поиск угроз для всех клиентов под управлением Truesec SOC.
В качестве мер реагирования специалисты рекомендуют отключить выполнение скриптов «postinstall» в средах разработки и CI/CD, удалить или зафиксировать версии пакетов на проверенных сборках, выполнить аудит систем на наличие несанкционированных публикаций и ротировать все токены npm и другие секреты, которые могли быть раскрыты. Также необходимо мониторить логи на предмет подозрительной активности, связанной с публикацией пакетов.