В ходе новой атаки после получения параметров учётной записи сопровождающего в результате фишинга, атакующие публикуют релиз пакета с червём, который активируется при установке скомпрометированного пакета в числе зависимостей. После активации червь осуществляет поиск учётных данных в текущем окружении, загружая и запуская утилиту TruffleHog. В случае обнаружения токена подключения к каталогу NPM червь автоматически публикует новый вредоносный релиз и по цепочке поражает дерево зависимостей. Помимо токена доступа к NPM червь сохраняет ключи доступа к GitHub и облачным сервисам AWS, Azure и GCP (Google Cloud Platform), а также другие конфиденциальные данные, которые способен обнаружить сканер TruffleHog.
Вредоносные релизы формируются для 20 наиболее популярных пакетов, к которым имеет доступ найденный NPM-токен. Функциональность публикации релиза реализована в форме функции NpmModule.updatePackage, которая загружает исходный архив пакета, изменяет номер версии и добавляет postinstall-хук в файл package.json, подставляет обработчик bundle.js, переупаковывает пакет и публикует его. Поддерживается работа в Linux и macOS.
Червю присвоено кодовое имя Shai-Hulud (гигантский червь, упоминаемый в романе Дюна). Найденные в системе учётные данные размещаются в GitHub через создание репозиториев с именем Shai-Hulud (например, «B611/Shai-Hulud»), а также в закодированном виде отражаются в логах GitHub Actions. В создаваемом репозитории размещается файл data.json, в котором присутствует строка с закодированной методом base64 информацией о системе, переменных окружения и перехваченных ключах доступа. В CI на базе GitHub для передачи информации на внешний хост червь создаёт обработчик GitHub Actions (.github/workflows/shai-hulud-workflow.yml). Судя по всему, атака не ограничивается упомянутыми 187 пакетами, так как на GitHub продолжают появляться новые репозитории с именем Shai-Hulud и файлом data.json.

Среди прочего, в результате активности червя поражёнными оказались 25 пакетов компании CrowdStrike, развивающей инструменты для защиты от атак через зависимости (Supply Chain). По заявлению CrowdStrike скомпрометированные пакеты не использовались в платформе Falcon и атака не распространилась на клиентов. Также стало известно, что прошлая волна публикации вредоносных релизов в NPM, осуществлявшаяся без червя, затронула проект gemini-cli, развиваемый компанией Google.
Источник: http://www.opennet.ru/opennews/art.shtml?num=63894