- Dva npm balíčky, colortoolsv2 a mimelib2, stahovaly adresy URL příkazů a ovládání z chytrých smluv Etherea, aby načetly malware druhé fáze.
- Operace byla propojena s širší sítí sociálního inženýrství GitHub s falešnými repozitáři obchodních botů a nadsazenými metrikami zapojení.
- Útočníci po zablokování vyměnili balíčky a znovu použili stejnou on-chain smlouvu, což pomohlo splynutí provozu s legitimní blockchainovou aktivitou.
- Výzkumníci publikovali IoC a naléhali na vývojáře, aby ověřovali správce, kontrolovali závislosti a monitorovali neobvyklé vyhledávání v řetězci.
Bezpečnostní analytici podrobně popsali narušení dodavatelského řetězce, při kterém npm balíčky zneužívaly chytré smlouvy Etherea k získání skrytých odkazů ke stažení dalších datových částí. Tato taktika maskuje škodlivou infrastrukturu za veřejnými voláními blockchainu, což komplikuje rutinní skenování a reakci na incidenty.
Dvojice balíčků, colortoolsv2 a mimelib2 , se objevila v červenci 2025 a byla rychle odstraněna z registru. Kód, zaměřený na vývojáře v krypto ekosystému, fungoval jako tenký downloader, který mísil svou síťovou aktivitu s běžnými dotazy v řetězci , jak vyplývá z výzkumu softwarové dodavatelské firmy ReversingLabs.
Co výzkumníci objevili
Místo pevně naprogramovaných koncových bodů balíčky načítaly URL adresy další fáze z chytré smlouvy Ethereum vždy, když byly spuštěny nebo importovány jako závislost. Tato indirection odráží dřívější stealth techniky, jako je EtherHiding, a umožňovala hrozbě maskovat se jako legitimní blockchainový provoz . Zatímco škodlivé chování v kódu npm bylo přímočaré, související projekty GitHubu se více snažily působit důvěryhodně.
Jak fungovala indirekční interference v řetězci
Vyšetřovatelé zjistili, že colortoolsv2 dodával minimální zavaděč (včetně rutiny index.js), který dotazoval on-chain kontrakt na řetězcovou hodnotu představující umístění stahování druhé fáze. Kontrakt na adrese 0x1f171a1b07c108eae05a5bccbe86922d66227e2b zpřístupňoval funkce čtení, které vracely URL, kterou zavaděč následně použil k načtení dat ze serveru ovládaného útočníkem.
Poté, co npm začátkem července zablokoval colortoolsv2, provozovatelé představili mimelib2 s téměř stejnou logikou a velmi stejným odkazem na kontrakt, čímž minimalizovali změny a zároveň zachovali neporušený řídicí kanál. Komponenta druhé fáze se spustila po načtení a její hash byl výzkumníky propojen za účelem detekce a forenzní triáže.
Koordinovaná návnada na GitHub
Nahrávání souborů do npm bylo šířeno prostřednictvím sítě klamavých repozitářů GitHub , které propagovaly automatizované obchodní nástroje, jako například solana-trading-bot-v2, ethereum-mev-bot-v2, arbitrage-bot a hyperliquid-trading-bot. Účty stojící za těmito projekty měly vzorce aktivity navržené tak, aby vypadaly autenticky: nafouklé hvězdy a hlídače, časté commity (některé triviální) a více uvedených správců.
Analytici spojují toto úsilí o seedling s tzv. Stargazers Ghost Network , což je klastr distribuce jako služba, který hromadně staruje, forkuje, sleduje a commituje, aby zvýšil viditelnost škodlivých repozitářů. Některé uživatelské přezdívky uvedené v historii commitů přidaly škodlivé závislosti přímo a nejméně jeden související účet GitHub byl od té doby zrušen.
Proč se to vyhnulo rutinní obraně
Protože stahující program konzultoval veřejný blockchain , aby získal instrukce, standardní filtry a seznamy blokovaných URL byly méně účinné. Mnoho bezpečnostních nástrojů neoznačuje volání kontraktů pouze pro čtení a útočník mohl rotovat hostingové koncové body aktualizací dat v řetězci, místo aby se dotýkal kódu balíčku nebo centralizované infrastruktury . Tato kombinace zvyšuje laťku pro detekci a zastavení útoku.
Výzkumníci poznamenali, že podobné myšlenky se již dříve objevily v oblasti kryptoměnových operací, ale použití chytré smlouvy k přípravě C2 lokací pro malware npm představuje významný posun ve způsobu, jakým jsou zkoumány ekosystémy s otevřeným zdrojovým kódem. Zdokumentované kampaně související s kryptoměnami na veřejných repozitářích v roce 2024 vzrostly, bylo zaznamenáno více než dvacet případů, a tento incident ukazuje, že techniky dozrávají.
Indikátory kompromitace (IoC)
S kampaní byly propojeny následující identifikátory, které mohou pomoci při hledání a detekci hrozeb :
- Verze npm colortoolsv2: 1.0.0 (SHA1 678c20775ff86b014ae8d9869ce5c41ee06b6215), 1.0.1 (SHA1 1bb7b23f45ed80bce33a6b6e6bc4f99750d5a34b), 1.0.2 (SHA1 db86351f938a55756061e9b1f4469ff2699e9e27)
- Verze npm mimelib2: 1.0.0 (SHA1 bda31e9022f5994385c26bd8a451acf0cd0b36da), 1.0.1 (SHA1 c5488b605cf3e9e9ef35da407ea848cf0326fdea)
- Užitečné zatížení druhého stupně: SHA1 021d0eef8f457eb2a9f9fb2260dd2e39ff009a21
- Chytrá smlouva: 0x1f171a1b07c108eae05a5bccbe86922d66227e2b
Dopad na vývojáře a doporučené kontroly
Pro týmy závislé na npm tento případ zdůrazňuje, že signály popularity lze vyrobit . Prověřte správce a historii commitů, zkoumejte nedávné verze, zda neobvyklé chování probíhá po instalaci nebo po instalaci, a zkoumejte závislosti, které za běhu provádějí volání blockchainového API nebo dynamické síťové požadavky.
Organizace by měly kombinovat seznamy povolených balíčků , fixaci integrity (včetně hashů pro tranzitivní závislosti) a reprodukovatelné sestavení se statickou a behaviorální analýzou. Monitorování sítě, které signalizuje neočekávaná odchozí volání poskytovatelům RPC nebo náhlý provoz do neznámých domén, může také odhalit zneužití indirekčního přístupu v řetězci.
Před začleněním nástrojů označených jako obchodní boti nebo pomocníci MEV ověřte, zda odkazované účty a repozitáře mají skutečnou historii, ne jen nárazovou aktivitu během několika dní. Stahujte balíčky lokálně pro ruční kontrolu, prohledávejte obfuskované zavaděče a hledejte kód, který čte úložiště chytrých smluv pro získání spustitelných URL adres.
Výzkumníci také doporučují mapovat veškeré on-chain reference používané build nebo runtime skripty, sledovat aktualizace stavu kontraktů , které by mohly přesměrovat stahování, a interně dokumentovat IoC, aby upozornění přetrvávala i v případě, že jsou veřejné záznamy nebo účty odstraněny.
Celkově vzato zjištění zdůrazňují, jak byly chytré smlouvy Etherea přepracovány do flexibilního přenosu informací C2, jak byly npm a GitHub začleněny do cesty doručování a proč jsou hlubší hygiena balíčků a monitorování v rámci řetězce nyní klíčové pro vývojové týmy pracující s open-source a kryptoměnovými nástroji.