- Два npm пакета, colortoolsv2 и mimelib2, изтеглиха URL адреси за команди и контрол от смарт договорите на Ethereum, за да извлекат зловреден софтуер от втори етап.
- Операцията беше обвързана с по-широка мрежа за социално инженерство GitHub с фалшиви репозитории на търговски ботове и завишени показатели за ангажираност.
- След свалянето на пакетите, атакуващите са разменили пакетите и са използвали повторно един и същ договор във веригата, което е помогнало трафикът да се слее с легитимната блокчейн активност.
- Изследователите публикуваха IoCs и призоваха разработчиците да проверяват поддържащите, да проверяват зависимостите и да наблюдават необичайни търсения в веригата.

Анализатори по сигурността подробно описаха проникване във веригата за доставки, при което npm пакети са използвали смарт договори на Ethereum, за да извличат скрити връзки за изтегляне на допълнителни полезни товари. Тактиката прикрива злонамерена инфраструктура зад публични блокчейн извиквания, което усложнява рутинното сканиране и реагирането на инциденти.
Дуетът от пакети, colortoolsv2 и mimelib2 , се появи през юли 2025 г. и бързо беше премахнат от регистъра. Насочен към разработчици в крипто екосистемата, кодът действаше като „тънък изтеглятел“, който смесваше мрежовата си активност с обикновени заявки във веригата , според проучване на фирмата за вериги за доставки на софтуер ReversingLabs.
Какво откриха изследователите
Вместо твърдо кодирани крайни точки, пакетите извличаха URL адреси от следващия етап от интелигентен договор на Ethereum, когато те бяха изпълнени или импортирани като зависимост. Тази индирекция отразява по-ранни техники за скритост като EtherHiding и позволяваше на заплахата да се маскира като легитимен блокчейн трафик . Въпреки че злонамереното поведение в npm кода беше лесно разбираемо, свързаните GitHub проекти работиха по-усилено, за да изглеждат достоверни.
Как работеше индиректното свързване във веригата
Разследващите установиха, че colortoolsv2 е доставил минимален зареждащ механизъм (включващ рутина index.js), който е поискал от on-chain контракт низова стойност, представляваща местоположението за изтегляне на втория етап. Контрактът на адрес 0x1f171a1b07c108eae05a5bccbe86922d66227e2b е разкрил функции за четене, които са връщали URL адрес, който зареждащият механизъм след това е използвал за изтегляне на полезен товар от контролиран от хакера сървър.
След като npm блокира colortoolsv2 в началото на юли, операторите въведоха mimelib2 с почти същата логика и същия референтен номер на договора, минимизирайки промените, като същевременно запазиха контролния си канал непокътнат. Компонентът от втория етап се изпълни след извличането му, а неговият хеш беше свързан от изследователите за откриване и криминалистичен триаж.
Координирана примамка за GitHub
Качените в npm файлове са били разпространявани чрез мрежа от подвеждащи GitHub хранилища, рекламиращи автоматизирани инструменти за търговия, като solana-trading-bot-v2, ethereum-mev-bot-v2, arbitrage-bot и hyperliquid-trading-bot. Акаунтите зад тези проекти са имали модели на активност, предназначени да изглеждат автентични: завишени звезди и наблюдатели, чести комити (някои от които тривиални) и множество регистрирани поддържащи.
Анализаторите свързват това усилие за разпространяване на злонамерени зависимости с така наречената Stargazers Ghost Network , клъстер от типа „разпространение като услуга“, който масово създава звезди, форкове, наблюдава и се ангажира, за да подобри видимостта на вредни хранилища. Някои потребителски имена, цитирани в историята на коммитовете, са добавили директно злонамерените зависимости и поне един свързан GitHub акаунт оттогава е бил премахнат.
Защо това избегна рутинните защити
Тъй като изтеглящият потребител се е консултирал с публична блокчейн мрежа , за да получи инструкциите си, стандартните филтри и списъците с блокирани URL адреси са били по-малко ефективни. Много инструменти за сигурност не маркират извиквания на договори само за четене и атакуващият може да ротира крайните точки на хоста, като актуализира данните във веригата, вместо да докосва кода на пакета или централизираната инфраструктура . Тази комбинация повишава летвата за откриване и премахване.
Изследователите отбелязват, че подобни идеи са се появявали и преди в крипто-фокусирани операции, но използването на интелигентен договор за разполагане на C2 локации за npm зловреден софтуер бележи забележителна промяна в начина, по който се изследват екосистемите с отворен код. Документираните крипто-свързани кампании в публични хранилища се увеличиха през 2024 г., като бяха регистрирани повече от двадесет случая, а този инцидент показва, че техниките узряват.
Индикатори за компрометиране (IoCs)
Следните идентификатори бяха свързани с кампанията и могат да помогнат за откриването и преследването на заплахи :
- npm colortoolsv2 версии: 1.0.0 (SHA1 678c20775ff86b014ae8d9869ce5c41ee06b6215), 1.0.1 (SHA1 1bb7b23f45ed80bce33a6b6e6bc4f99750d5a34b), 1.0.2 (SHA1 db86351f938a55756061e9b1f4469ff2699e9e27)
- Версии на npm mimelib2: 1.0.0 (SHA1 bda31e9022f5994385c26bd8a451acf0cd0b36da), 1.0.1 (SHA1 c5488b605cf3e9e9ef35da407ea848cf0326fdea)
- Полезен товар на втория етап: SHA1 021d0eef8f457eb2a9f9fb2260dd2e39ff009a21
- Интелигентен договор: 0x1f171a1b07c108eae05a5bccbe86922d66227e2b
Въздействие върху разработчиците и препоръчителни проверки
За екипите, разчитащи на npm, случаят подчертава, че сигналите за популярност могат да бъдат генерирани . Проверявайте поддържащите и историите на комитите, изследвайте последните издания за необичайно поведение при инсталиране или след инсталиране и проверявайте зависимостите, които извършват извиквания на блокчейн API или динамични мрежови заявки по време на изпълнение.
Организациите трябва да комбинират списъци с разрешени пакети , закрепване на целостта (включително хешове за транзитивни зависимости) и възпроизводими компилации със статичен и поведенчески анализ. Мрежовото наблюдение, което сигнализира за неочаквани изходящи повиквания към RPC доставчици или внезапен трафик към непознати домейни, също може да разкрие злоупотреба с индиректност във веригата.
Преди да включите инструменти, наречени търговски ботове или MEV помощници, проверете дали посочените акаунти и хранилища имат реална история на успех, а не просто импулсивна активност за няколко дни. Изтеглете пакети локално за ръчен преглед, сканирайте за обфускирани зареждащи програми и следете за код, който чете хранилище за интелигентни договори, за да получи изпълними URL адреси.
Изследователите препоръчват също така картографиране на всички препратки във веригата, използвани от скриптове за изграждане или изпълнение, наблюдение за актуализации на състоянието на договорите , които биха могли да пренасочат изтегляния, и вътрешно документиране на IoC, така че предупрежденията да продължат да се получават, дори ако публичните обяви или акаунти бъдат премахнати.
Взети заедно, констатациите подчертават как интелигентните договори на Ethereum са били пренасочени като гъвкаво реле за C2 информация, как npm и GitHub са били вплетени в пътя на доставка и защо по-задълбочената хигиена на пакетите, както и мониторингът във веригата, сега са основни приоритети за екипите за разработка, работещи с инструменти с отворен код и криптовалути.