Kenkėjiški npm paketai naudojo „Ethereum“ išmaniąsias sutartis, kad paslėptų naudingosios apkrovos nuorodas

Paskutiniai pakeitimai: 09/04/2025
Autorius: C SourceTrail
  • Du „npm“ paketai, „colortoolsv2“ ir „mimelib2“, iš „Ethereum“ išmaniųjų sutarčių ištraukė komandų ir valdymo URL, kad gautų antrojo etapo kenkėjiškas programas.
  • Operacija buvo susieta su platesniu „GitHub“ socialinės inžinerijos tinklu, kuriame buvo naudojami netikri prekybos robotų repo sandoriai ir išpūsti įsitraukimo rodikliai.
  • Užpuolikai po pašalinimo keitė paketus ir pakartotinai panaudojo tą pačią grandinės sutartį, padėdami srautui susilieti su teisėta blokų grandinės veikla.
  • Tyrėjai paskelbė IoC ir paragino kūrėjus tikrinti palaikytojus, tikrinti priklausomybes ir stebėti neįprastas paieškas grandinėje.

„Ethereum“ išmaniosios sutartys npm platformoje

Saugumo analitikai išsamiai aprašė tiekimo grandinės įsilaužimą, kurio metu buvo naudojami npm paketai. „Ethereum“ išmaniosios sutartys kad būtų galima gauti paslėptas atsisiuntimo nuorodas papildomiems naudingiesiems krūviams. Ši taktika maskuoja kenkėjišką infrastruktūrą, esančią už viešųjų blokų grandinės iškvietimų, taip apsunkindama įprastą nuskaitymą ir reagavimą į incidentus.

Paketų duetas, colortoolsv2 ir mimelib2, pasirodė 2025 m. liepos mėn. ir buvo greitai pašalinti iš registro. Nukreiptas į kriptovaliutų ekosistemos kūrėjus, kodas veikė kaip plonas atsisiuntėjas, kuris sujungė savo tinklo veiklą su įprastos užklausos grandinėje, remiantis programinės įrangos tiekimo grandinės įmonės „ReversingLabs“ tyrimu.

Ką tyrėjai atrado

Užuot įrašę galinius taškus į kietąjį kodą, paketai buvo gauti kito etapo URL iš „Ethereum“ išmaniosios sutarties, kai tik jos buvo vykdomos arba importuojamos kaip priklausomybė. Šis netiesioginis atvejis atspindi ankstesnes slaptas technikas, tokias kaip „EtherHiding“, ir leido grėsmei maskuotis kaip teisėtas blokų grandinės srautasNors kenkėjiškas elgesys npm kode buvo akivaizdus, ​​susiję „GitHub“ projektai stengėsi atrodyti patikimi.

Kaip veikė grandinės netiesioginė reakcija

Tyrėjai nustatė, kad „colortoolsv2“ pateikė minimalų įkroviklį (įskaitant index.js rutiną), kuris pateikė užklausą grandinės sutartis eilutės reikšmę, nurodančią antrojo etapo atsisiuntimo vietą. Sutartis, esanti adresu 0x1f171a1b07c108eae05a5bccbe86922d66227e2b, atskleidė skaitymo funkcijas, kurios grąžino URL, kurį įkėlėjas panaudojo, kad ištrauktų naudingąją apkrovą iš užpuoliko kontroliuojamo serverio.

Po to, kai maždaug liepos pradžioje „npm“ užblokavo „colortoolsv2“, operatoriai pristatė mimelib2 beveik ta pačia logika ir ta pačia sutarties nuoroda, sumažinant pakeitimus ir išlaikant nepažeistą jų valdymo kanalą. Antrojo etapo komponentas buvo vykdomas po paieškos, o jo maišos kodą tyrėjai susiejo aptikimo ir... teismo medicinos triažas.

Koordinuotas „GitHub“ masalas

NPM įkėlimai buvo paskirstomi per tinklą apgaulingos „GitHub“ saugyklos reklamavo automatizuotas prekybos priemones, tokias kaip „solana-trading-bot-v2“, „ethereum-mev-bot-v2“, „arbitrage-bot“ ir „hyperliquid-trading-bot“. Šių projektų paskyrose buvo veiklos modeliai, sukurti taip, kad atrodytų autentiški: išpūstos žvaigždės ir stebėtojai, dažni pakeitimai (kai kurie nereikšmingi) ir keli išvardyti palaikytojai.

Analitikai šias sėjos pastangas sieja su vadinamuoju Žvaigždžių stebėtojų vaiduoklių tinklas, platinimo kaip paslaugos klasteris, kuris masiškai aktyvuoja, atšakoja, stebi ir patvirtina, kad padidintų kenksmingų saugyklų matomumą. Kai kurie naudotojų slapyvardžiai, nurodyti patvirtinimo istorijoje, tiesiogiai pridėjo kenkėjiškas priklausomybes, ir nuo to laiko bent viena susijusi „GitHub“ paskyra buvo parblokštas.

Kodėl tai išvengė įprastinės gynybos

Kadangi atsisiuntėjas kreipėsi į viešas „blockchain“ norint gauti instrukcijas, standartiniai filtrai ir URL blokavimo sąrašai buvo mažiau veiksmingi. Daugelis saugumo įrankių nepažymi tik skaitymui skirtų sutarčių iškvietimų, o užpuolikas galėjo keisti prieglobos galinius taškus atnaujindamas grandinės duomenis, o ne keisdamas paketo kodą arba centralizuota infrastruktūraŠis derinys pakelia aptikimo ir pašalinimo kartelę.

Tyrėjai pastebėjo, kad panašios idėjos jau anksčiau buvo kilusios kriptovaliutų srityje, tačiau naudojant išmaniąją sutartį C2 etapo vietos npm kenkėjiškų programų atveju pastebimas pokytis, kaip tiriamos atvirojo kodo ekosistemos. Dokumentuotų su kriptovaliutomis susijusių kampanijų viešosiose saugyklose skaičius 2024 m. išaugo – užregistruota daugiau nei dvidešimt atvejų, o šis incidentas rodo, kad technikos bręsta.

Kompromiso rodikliai (IoC)

Šie identifikatoriai buvo susieti su kampanija ir gali padėti grėsmės medžioklė ir aptikimai:

  • npm colortoolsv2 versijos: 1.0.0 (SHA1 678c20775ff86b014ae8d9869ce5c41ee06b6215), 1.0.1 (SHA1 1bb7b23f45ed80bce33a6b6e6bc4f99750d5a34b), 1.0.2 (SHA1 db86351f938a55756061e9b1f4469ff2699e9e27)
  • npm mimelib2 versijos: 1.0.0 (SHA1) bda31e9022f5994385c26bd8a451acf0cd0b36da), 1.0.1 (SHA1 c5488b605cf3e9e9ef35da407ea848cf0326fdea)
  • Antrojo etapo naudingoji apkrova: SHA1 021d0eef8f457eb2a9f9fb2260dd2e39ff009a21
  • Išmanioji sutartis: 0x1f171a1b07c108eae05a5bccbe86922d66227e2b

Kūrėjo poveikis ir rekomenduojami patikrinimai

Komandoms, kurios remiasi npm, šis atvejis pabrėžia, kad populiarumo signalai gali būti gaminamiPatikrinkite kūrėjų ir pakeitimų istorijas, išnagrinėkite naujausius leidimus, ar nėra neįprasto diegimo ar po diegimo elgesio, ir atidžiai išnagrinėkite priklausomybes, kurios vykdymo metu kreipiasi į „blockchain“ API arba vykdo dinamines tinklo užklausas.

Organizacijos turėtų susivienyti paketų leidžiamųjų sąrašų, vientisumo prisegimas (įskaitant tranzityviųjų priklausomybių maišas) ir atkuriamos kompiliacijos su statine ir elgsenos analize. Tinklo stebėjimas, kuris žymi netikėtus išeinančius skambučius į RPC teikėjai Arba staigus srautas į nepažįstamus domenus taip pat gali atskleisti piktnaudžiavimą grandinėje esančiu netiesioginiu perdavimu.

Prieš įtraukdami įrankius, pavadintus prekybos robotais arba MEV pagalbininkais, patikrinkite, ar nurodytos paskyros ir saugyklos turi realią patirtį, o ne tik sprogstamasis aktyvumas per kelias dienas. Išskleiskite paketus vietoje, kad juos peržiūrėtumėte rankiniu būdu, nuskaitykite užmaskuotus įkroviklius ir stebėkite kodą, kuris nuskaito išmaniųjų sutarčių saugyklą, kad gautų vykdomuosius URL.

Tyrėjai taip pat rekomenduoja susieti visas grandinėje esančias nuorodas, kurias naudoja kūrimo ar vykdymo scenarijai, ir stebėti atnaujinimus. sutarties būsena kurie galėtų nukreipti atsisiuntimus, ir dokumentuoti IoC viduje, kad įspėjimai išliktų net ir pašalinus viešus sąrašus ar paskyras.

Apibendrinus rezultatus, paaiškėja, kaip „Ethereum“ išmaniosios sutartys buvo pritaikytos kaip lankstus C2 informacijos perdavimo kanalas, kaip „npm“ ir „GitHub“ buvo įpinti į pristatymo kelią ir kodėl. gilesnė pakuotės higiena Be to, stebėjimas grandinėje dabar yra neatsiejama kūrimo komandų, dirbančių su atvirojo kodo ir kriptovaliutų įrankiais, dėmesio centre.

npm-2
Susijęs straipsnis:
Šiaurės Korėjos grėsmių veikėjai diegia kenkėjiškus npm paketus sudėtingoje socialinės inžinerijos atakoje
Susijusios naujienos: