ReversingLabs ugotavlja, da so napadalci zlorabili pametne pogodbe Ethereuma za skrivanje zlonamerne programske opreme npm

Zadnja posodobitev: 09/05/2025
  • Dva npm paketa, 'colortoolsv2' in 'mimelib2', sta usmerjala C2 prek pametne pogodbe Ethereum, da bi se izognila zaznavanju.
  • Lažni repozitorij trgovalnih botov GitHub je napihnil zaupanje s postopnimi potrjitvami in računi, preden je dodal zlonamerno odvisnost.
  • Ista pogodba v verigi (0x1f171a1b07c108eae05a5bccbe86922d66227e2b) je zagotovila URL-je druge stopnje.
  • IoC-ji vključujejo specifične različice paketov in zgoščene vrednosti SHA1; ekipe bi morale spremljati nepričakovane klice verige blokov v namestitvenih skriptih.

Pametne pogodbe Ethereuma, ki skrivajo zlonamerno programsko opremo NPM

ReversingLabs je označil dva npm paketa ki je tiho usmerjal logiko namestitve prek pametne pogodbe Ethereum in javno verigo blokov spremenil v prikrit imenik za infrastrukturo vodenja in nadzora (C2). Paketa »colortoolsv2« in »mimelib2« sta se predstavljala kot preprosta pripomočka, hkrati pa sta omogočala pridobivanje koristnega tovora druge stopnje.

Z zunanjim izvajanjem naslova C2 ​​v okviru pogodbe v verigi blokov so operaterji svoj promet zavili v nekaj, kar je videti kot običajna aktivnost verige blokov, kar je poteza, ki otežuje statično in ugledno zaznavanjePogodba na naslovu 0x1f171a1b07c108eae05a5bccbe86922d66227e2b je razkrila funkcije branja, ki so vrnile URL, s katerim so se monterji kasneje povezali.

Pametne pogodbe Ethereum in npm
Povezani članek:
Zlonamerni npm paketi so uporabljali pametne pogodbe Ethereum za prikrivanje povezav do koristnih vsebin

Od nalagalnika npm do verižnega C2

Kako je delovala pametna pogodbena veriga npm-to-Ethereum

Znotraj 'colortoolsv2', tanek nalagalnik index.js je sprožil zunanji ukaz, katerega lokacija ni bila lokalno kodirana. Namesto tega je poizvedoval po pametni pogodbi Ethereum za končno točko, ki bi gostitelja usmerila k sistemu vodenja in nadzora.

Javni raziskovalci, kot je Etherscan prikaže pogodbo razkrivanje preprostih bralnih funkcij, ki vrnejo URL, s čimer se veriga učinkovito uporabi kot odporen kazalec na napadalčevo infrastrukturo. Ker zadnji skok izhaja iz klica verige blokov, branilci ne vidijo statične domene, vdelane v paket npm.

Po odkritju je bil 'colortoolsv2' blokirano na npm 7. julijaKmalu zatem so operaterji objavili »mimelib2«, ki je po analizi ponovno uporabil skoraj identično logiko in isto pametno pogodbo za izvedbo druge faze.

Ko je bil izveden, je nalagalnik pridobil komponenta druge stopnje čigar zgoščeno vrednost so objavili raziskovalci (SHA1: 021d0eef8f457eb2a9f9fb2260dd2e39ff009a21). Ta indirektna uporaba je napadalcem omogočila, da poljubno menjajo cilje z urejanjem podatkov v verigi namesto s prepakiranjem kode.

Igra verodostojnosti GitHuba za prikrivanje zlonamernih odvisnosti

Repozitorij GitHub je bil pripravljen za skrivanje zlonamerne programske opreme npm.

ReversingLabs je izsledil tudi mrežo lažnih projektov GitHub, ki so se predstavljali kot kripto trgovalni roboti, skupaj s tisoči potrjenij, več vzdrževalci, zvezdniki in opazovalci. Repozitoriji, kot je 'solana-trading-bot-v2', so bili videti živahni, vendar je bil velik del dejavnosti avtomatiziran nered.

Številni zapisi so premetavali nepomembne datoteke (na primer ponavljajoče se urejanje LICENCE), medtem ko so se gruče podobni računi, ustvarjeni okoli 10. julija skoraj ni vsebovala prave vsebine – nekatere datoteke README so rekle le »Pozdravljeni«. Uporabniška imena, kot so »slunfuedrac«, »cnaovalles« in »pasttimerles«, so se pojavljala pogosto, kar je napihovalo signale legitimnosti.

Razlike v kodi so pokazale, da je bila zlonamerna odvisnost dodana kodi trgovalnega robota (na primer v bot.ts in uvozi v src/index.ts), najprej prek 'colortoolsv2' in kasneje prek 'mimelib2'. Ta povezava je postala veliko manj očitna za občasnega pregledovalca sredi hrupne zgodovine potrjevanja.

Z združitvijo npm in GitHub-a so akterji zamegljeni tradicionalni signali zaupanja, s čimer se je skrita odvisnost zlila v projekt, ki je bil videti aktiven, dobro vzdrževan in podprt s strani skupnosti.

IoC, obseg in na kaj bi morali biti zagovorniki pozorni

Ključni kazalniki, povezani s shemo pogodb npm in Ethereum

ReversingLabs je objavil naslednje kazalniki kompromitacije (IoC) povezano s to kampanjo:

  • npm paketi: barvna orodjav2 1.0.0 (SHA1 678c20775ff86b014ae8d9869ce5c41ee06b6215), 1.0.1 (1bb7b23f45ed80bce33a6b6e6bc4f99750d5a34b), 1.0.2 (db86351f938a55756061e9b1f4469ff2699e9e27)
  • npm paket: mimelib2 1.0.0 (bda31e9022f5994385c26bd8a451acf0cd0b36da), 1.0.1 (c5488b605cf3e9e9ef35da407ea848cf0326fdea)
  • Druga faza: SHA1 021d0eef8f457eb2a9f9fb2260dd2e39ff009a21
  • Pametna pogodba: 0x1f171a1b07c108eae05a5bccbe86922d66227e2b

Ta pristop odraža prejšnjo zlorabo zaupanja vrednega gostovanja, kot sta Gist ali shranjevanje v oblaku, vendar On-chain twist spodkopava statične sezname blokov in preprosta preverjanja vira. Lokacijo C2 je mogoče spremeniti v pogodbi, ne da bi se dotaknili paketa, promet veriženja blokov pa je mogoče v okoljih, ki so sosednja kriptovalutam, napačno razumeti kot rutino.

Praktični koraki vključujejo pregled izvora odvisnosti, ki presega zvezdice in commite, spremljanje nepričakovanih klicev RPC verige blokov med fazami namestitve/gradnje, preverjanje vseh URL-jev, razrešenih med izvajanjem, in pripenjanje znanih dobrih različic s preverjanji integritete. Varnostne ekipe bi morale tudi iskati repozitorije, katerih dejavnost je umetno napihnjena z trivialnimi, avtomatiziranimi potrjitvami.

Primer kaže, kako Pametne pogodbe Ethereuma je mogoče prenameniti kot odporni kazalci za distribucijo zlonamerne programske opreme v ekosistemu npm, medtem ko postopna dejavnost GitHub prikriva zlonamerne odvisnosti na očeh; zavedanje teh prekrivanj med odprtokodno in verižno infrastrukturo je zdaj bistvenega pomena za obrambo razvijalcev in podjetij.

Podobni objav: