Важным событием позапрошлой недели стало

Атака начинается с загрузки зараженного пакета из репозитория npm. После установки автоматически запускается вредоносный скрипт размером более 3 мегабайт с названием bundle.js. Он содержит набор легитимных модулей для работы с облачными сервисами Amazon и Google Cloud Platform, инструменты для взаимодействия с GitHub API, а также имеет функциональность для работы с
Далее собирается информация об операционной системе, проверяется наличие npm-токена и токена аутентификации в GitHub. Особенностью червя является то, что большая часть функциональности нацелена на работу в Linux и macOS. Во всех репозиториях GitHub, к которым у жертвы имеется доступ, создается новая ветка под названием shai-hulud, куда загружается скрипт для сервиса GitHub Actions. Этот скрипт, в свою очередь, будет активизироваться каждый раз, когда выполняется команда push. Он собирает секреты из репозиториев и отправляет их на сервер злоумышленников.
Следующий этап может нанести еще больше ущерба: запрашивается список всех организаций в GitHub, относящихся к жертве, и для каждой из них выполняется функция migration. Таким образом все приватные и корпоративные репозитории, к которым у жертвы есть доступ, копируются в учетную запись пользователя и становятся публичными. По предположению авторов исследования, так делается для последующей автоматизированной кражи исходного кода из приватных репозиториев.
Одной из жертв такого подхода стала компания CrowdStrike: у нее оказались заражены девять библиотек. Такая деятельность представляет угрозу для компаний, так как возникает риск раскрытия проприетарного исходного кода и других чувствительных данных. К слову, результат работы легитимной утилиты TruffleHog со всеми ключами доступа к облачным системам также публикуется в учетке жертвы на GitHub в открытом виде. Наконец, представляет интерес процесс саморепликации червя. Shai-Hulud определяет npm-пакеты, к которым у жертвы имеется доступ, пытается скачать tarball-версию каждого из них. Скачанный пакет распаковывается, к нему добавляется тот же самый вредоносный bundle.js, а для его запуска в файл package.json добавляется команда на этапе постинсталляции. Версия пакета увеличивается на единицу, после чего он заново упаковывается и загружается обратно в репозиторий.
Именно запуск вредоносного пакета на этапе postinstall позволил выявить вероятного кандидата на звание «нулевого пациента» данной вредоносной кампании. В одном из зараженных пакетов вредоносный код выполнялся перед установкой — это был пакет ngx-bootstrap версии 18.1.4. Авторы отчета предполагают, что именно он стал отправной точкой для всех последующих заражений. В ряде случаев также было отмечено наличие нескольких копий вредоносного скрипта в одном и том же пакете. Скорее всего, это стало возможным из-за того, что были одновременно скомпрометированы сразу несколько мейнтейнеров одного и того же программного обеспечения.
В списке зараженных пакетов в статье «Лаборатории Касперского» присутствуют 190 наименований, а по некоторым источникам общее число зараженных npm-пакетов
Меры противодействия атаке приняли и в GitHub: там принудительно
Еще одна публикация экспертов «Лаборатории Касперского»
В компании Microsoft

Разработчики менеджера паролей LastPass