Атака на цепочку поставок NPM скомпрометировала ключевые библиотеки ENS и криптопроектов.

Массированная атака на цепочку поставок JavaScript скомпрометировала сотни программных пакетов, включая по меньшей мере 10, широко используемых в криптоэкосистеме, согласно исследованию компании Aikido Security.

В понедельник Чарли Эриксен, исследователь Aikido Security, опубликовал список из более чем 400 пакетов, демонстрирующих признаки заражения самовоспроизводящимся червем “Shai Hulud”, используемым в текущей атаке на цепочку поставок NPM-библиотек JavaScript. Эриксен заявил, что проверил каждое обнаружение, чтобы избежать ложных срабатываний.

Многие затронутые крипто-пакеты получают десятки тысяч скачиваний в неделю и имеют множество других пакетов, зависящих от них для функционирования. В публикации в X здесь ранее в понедельник Эриксен также предупредил команду Ethereum Name Service (ENS) о том, что несколько их пакетов были затронуты.

Источник: Charlie Eriksen

Shai Hulud является частью более широкой тенденции атак на цепочку поставок. В начале сентября крупнейшая зафиксированная к тому моменту атака на NPM привела к краже криптоактивов на сумму 50 миллионов долларов. Amazon Web Services отметила, что этой первой атаке последовало распространение червя Shai Hulud автономно, через неделю.

Если предыдущая атака напрямую нацеливалась на крипто-активы для их кражи, то Shai Hulud — это универсальное вредоносное ПО для кражи учетных данных, которое распространяется автономно по инфраструктуре разработчиков. Если в зараженной среде содержатся ключи кошельков, вредоносное ПО украдет их как "секреты", как и любые другие учетные данные.

Слава Демчук, генеральный директор крипто-форензики AMLBot, сообщил Cointelegraph, что «после заражения системы червь собирает секреты, реплицирует себя, делает приватные репозитории общедоступными, а затем продолжает распространяться». Любая система, на которой установлен скомпрометированный пакет, может быть заражена, но пока «нет упоминаний о ключах кошельков или других подобных активах».

«Однако, если в среде, где установлены зараженные пакеты, присутствуют конфиденциальные секреты — и эти секреты предоставляют доступ к другим системам — предполагайте, что они были скомпрометированы», — предупредил Демчук.

Какие крипто-пакеты затронуты?

Среди всех затронутых пакетов по меньшей мере 10 были непосредственно связаны с криптоиндустрией, и большинство из них связаны с ENS — службой присвоения удобочитаемых имен адресам. Среди затронутых пакетов — content-hash ENS, насчитывающий почти 36 000 еженедельных скачиваний и 91 программный пакет, зависящий от него, а также address-encoder, насчитывающий более 37 500 еженедельных скачиваний.

Другие затронутые пакеты ENS включают ensjs (более 30 000 еженедельных скачиваний), ens-validation (1 750 еженедельных скачиваний), ethereum-ens (12 650 еженедельных скачиваний) и ens-contracts (почти 3 100 еженедельных скачиваний). Крипто-пакет, не связанный с ENS и называемый crypto-addr-codec, также был скомпрометирован, насчитывая почти 35 000 скачиваний.

Затронутые популярные пакеты, не связанные с криптографией

Среди затронутых пакетов, не связанных с криптографией, есть некоторые, предлагаемые платформой корпоративной автоматизации Zapier, включая один с более чем 40 000 скачиваний в неделю и многие, не сильно отстающие от него. В последующей публикации Эриксен указал на другие зараженные пакеты, некоторые с почти 70 000 еженедельными скачиваниями, и на другой пакет, насчитывающий более 1,5 миллионов еженедельных скачиваний.

«Масштаб этой новой атаки Shai Hulud, откровенно говоря, огромен; мы все еще разбираемся с очередью, чтобы все подтвердить», — написал Эриксен в X.

«Это заставит предыдущую атаку казаться незначительной.»

Исследователи кибербезопасной компании Wiz утверждают, что «обнаружили более 25 000 затронутых репозиториев среди ~350 уникальных пользователей, каждые 30 минут в последние несколько часов добавляется около 1000 новых репозиториев». Компания рекомендует «немедленно провести расследование и устранить последствия» для любой среды, использующей npm.