Новый червь Shai-hulud заражает пакеты npm миллионами загрузок

ReversingLabs обнаружила «Shai-hulud» — самовоспроизводящегося компьютерного червя в реестре с открытым исходным кодом npm. Узнайте, как вредоносная программа крадет секретные данные разработчиков, раскрывает приватный код и распространяется через популярные пакеты, такие как ngx-bootstrap и @ctrl/tinycolor.
Новый и опасный самовоспроизводящийся компьютерный червь, названный Shai-hulud, был обнаружен в реестре с открытым исходным кодом Node Package Manager ( npm ) (огромной библиотеке, где разработчики обмениваются и используют фрагменты кода JavaScript).
Компания ReversingLabs (RL), специализирующаяся на информационной безопасности и поделившаяся своими результатами с Hackread.com, идентифицировала червя 15 сентября, заявив, что это первый случай обнаружения подобного червя на платформе. Название Shai-hulud взято из репозитория вредоносного кода и отсылает к гигантским песчаным червям из популярного научно-фантастического сериала «Дюна».

Shai-hulud распространяется, используя учётную запись npm разработчика и тайно добавляя вредоносный код в его публичные и приватные пакеты кода , управляемые разработчиком. После заражения пакета червь может распространить его на любого, кто его скачает и использует.
Это делает его особенно опасным, поскольку многие программные проекты используют пакеты из сети npm. Один скомпрометированный пакет может быстро заразить целую сеть других проектов.
Первый скомпрометированный пакет, rxnt-authentication, был заражён 14 сентября, поэтому его сопровождающий, techsupportrxnt, считается нулевым пациентом в рамках данной кампании. Этот термин используется для описания первого человека/системы, выявленных как источник заражения.
Пока исследовательская группа RL продолжает отслеживать проблему, уже скомпрометированы сотни пакетов npm, некоторые из которых очень популярны и имеют миллионы еженедельных загрузок. Например, червь заразил ngx-bootstrap с 300 000 еженедельных загрузок и @ctrl/tinycolor с 2,2 миллиона еженедельных загрузок, что делает эту уязвимость крайне серьёзной.
Червь Shai-hulud похищает важную информацию, такую как токены облачных сервисов и приватный код. Он нацелен на ключи таких сервисов, как npm, GitHub , AWS и GCP (Google Cloud Platform). Исследование также показало, что червь устанавливает инструмент TruffleHog, способный обнаруживать более 800 различных типов секретов.
Более того, он может сделать приватные библиотеки кода пользователя на GitHub публичными. Недавний поиск по этим «перенесённым» репозиториям выдал около 700 результатов, что выявило большой объём проприетарного кода.

Хотя точная первоначальная причина атаки неизвестна, ReversingLabs отмечает, что ее методы схожи с предыдущей кампанией в августе, что позволяет предположить, что злоумышленники использовали социальную инженерию или эксплуатировали уязвимости в инструментах разработчика.
ReversingLabs старается связаться с максимально возможным числом пострадавших разработчиков, но из-за высокой скорости распространения червя предупредить всех невозможно. Компания рекомендует разработчикам проверять свои публичные аккаунты GitHub на предмет любой подозрительной активности, например, новых репозиториев, которые они не создавали, или приватных репозиториев, которые внезапно стали общедоступными.
HackRead