



Более 300 пакетов npm оказались скомпрометированы саморазмножающимся червём
NPM-пакет tinycolor, представляющий собой широко используемую библиотеку для управления цветом, был скомпрометирован в ходе атаки. Она затронула более 40 пакетов библиотеки, а после самораспространяющийся червь заразил ещё более 300.
Это серьёзный инцидент безопасности, учитывая, что исходный NPM-пакет насчитывает 2 млн еженедельных загрузок.
Как выяснили исследователи компании Socket, злоумышленники смогли распространить вредоносное ПО с помощью функции NpmModule.updatePackage, внедрённой в скомпрометированные библиотеки. Она автоматизировала процесс заражения, загружая tar-архив пакета новой цели. Затем червь изменял файл package.json, внедрял вредоносный скрипт bundle.js, переупаковывал архив и повторно публиковал его в реестре npm, используя украденный токен. Червь ищет переменные окружения, такие как NPM_TOKEN, что позволяет ему находить учётные данные для дальнейшего распространения на пакеты, обслуживаемые скомпрометированной учётной записью.
По данным Socket, учётная запись npm CrowdStrike также была скомпрометирована, и несколько её пакетов были заражены вредоносным ПО. После этого компания, специализирующаяся на безопасности, удалила их и сменила учётные данные.
Кампания получила название Shai-Hulud из-за файлов рабочих процессов shai-hulud.yaml, обнаруженных во вредоносе. Атака довольно сложна и использует TruffleHog, легитимный инструмент для скрытого сканирования, чтобы искать и проверять учётные данные перед их передачей в веб-перехватчик.
Вот лишь некоторые из затронутых пакетов:
@ctrl/tinycolor;
ngx-toastr;
@crowdstrike/glide-core;
angulartics2;
eslint-config-crowdstrike;
@nativescript-community/ui-collectionview.
Затронутым разработчикам рекомендуют полностью удалить вредоносные пакеты из своих проектов с помощью
Читать на habr.com