- Zlonamjerni npm paketi colortoolsv2 i mimelib2 dohvatili su C2 URL-ove iz Ethereum pametnog ugovora kako bi izbjegli otkrivanje.
- Indirekcije na lancu omogućuju operatorima rotiranje krajnjih točaka bez ponovnog objavljivanja paketa; colortoolsv2 je uklonjen 7. srpnja prije prelaska na mimelib2.
- Koordinirani GitHub push koristio je lažne repozitorije trgovačkih botova, napuhane zvjezdice i skriptirane commite kako bi prikrio zlonamjerne ovisnosti.
- IoC-ovi uključuju verzije paketa, SHA1 hash-ove i ugovor 0x1f171a1b07c108eae05a5bccbe86922d66227e2b, plus smjernice za branitelje.
Akteri prijetnji okrenuli su se novom triku: usmjeravanju zlonamjerne infrastrukture kroz Pametni ugovor Ethereuma za skrivanje pokazivača naredbi i kontrole (C2) koriste npm paketi. Prema ReversingLabsu, dva paketa - colortoolsv2 i mimelib2 - tiho su se obratila blockchainu kako bi dohvatili URL-ove za druge faze podataka, zaobilazeći rutinske provjere koje traže tvrdo kodirane domene.
Umjesto iskorištavanja greške u samom Ethereumu, shema koristi mrežu kao javni, otporni indirektni slojNakon što je colortoolsv2 blokiran na npm-u 7. srpnja, operateri su se brzo prebacili na mimelib2 s gotovo identičnom logikom, nastavljajući referencirati isti on-chain ugovor za sljedeći korak.
Od npm instalacije do pretraživanja na lancu: kako je funkcionirao obilazak

Unutar colortoolsv2, minimalni učitivač (index.js) djelovao je kao dispečer koji pozvala vanjsku naredbu i dohvatila njen cilj iz pametnog ugovora umjesto lokalne skripte ili statičke konfiguracije. Etherscan prikazuje ugovor na 0x1f171a1b07c108eae05a5bccbe86922d66227e2b, čije su funkcije čitanja vratile URL koji se koristi za dosezanje C2 usluge.
Ovaj pokazivač na lancu komplicirao je blokiranje: branitelji se nisu mogli jednostavno osloniti na pronalaženje ili stavljanje na crnu listu tvrdo kodirane domene u paketu jer je aktivna krajnja točka nalazila se iza ugovora koji su kontrolirali operateriRotiranje odredišta zahtijevalo je samo ažuriranje pohrane ugovora, a ne ponovno objavljivanje npm artefakta, a sav rezultirajući blockchain promet se stopio kao legitiman.
Nakon što se izvrši tijekom instalacije ili izvođenja, program za učitavanje dohvatio je second-stage component (SHA1 021d0eef8f457eb2a9f9fb2260dd2e39ff009a21), koji je obrađivao naknadne aktivnosti. Oponašajući ponašanje colortoolsv2, mimelib2 je ponovno koristio isti ugovor za istu svrhu s gotovo identičnim putovima koda.
ReversingLabs je opisao pristup kao neobičan u npm ekosustavu: Zlonamjerni URL-ovi bili su hostirani putem stanja pametnog ugovora, a ne na tradicionalnim web uslugama koje se često viđaju u prošlim kampanjama opskrbnog lanca (npr. pohrana u oblaku ili gist-ovi).
GitHub dim i ogledala: lažni repozitorij trgovačkih botova kao paravan

NPM paketi nisu se pojavili izolirano. Operateri su pokrenuli mrežu GitHub projekata predstavljenih kao alati za trgovanje kriptovalutama—repozitoriji kao što je solana-trading-bot-v2—a zatim ih povezali sa zlonamjernim ovisnostima. Slučajnom promatraču, ovi repozitorij izgledali su „živo“, s tisućama commitova, više održavatelja, zvijezda i promatrača.
Detaljnijim pregledom otkriveno je da je velik dio aktivnosti bio skriptiran i površan, uključujući ponavljajuću promjenu datoteka s licencama i novootvoreni računi s oskudnim sadržajem (neki su kreirani oko 10. srpnja s README datotekama minimalnim poput "Pozdrav"). Korisnička imena koja su se pojavljivala u povijesti commita - uključujući slunfuedrac, cnaovalles i pasttimerles - pojavljivala su se više puta u svim projektima u fazi obrade.
Commiti su točno pokazali gdje su paketi umetnuti u kodnu bazu—dodavanje colortoolsv2 i kasnijeg mimelib2 kao ovisnosti u bot.ts i odgovarajući uvozi koji se pojavljuju u src/index.ts. Izrađeni društveni dokaz učinio je umetanje ovisnosti daleko manje očitim tijekom površnog pregleda.
U stvari, GitHubova fasada pojačala je signale povjerenja dok je Prava točka odluke za sljedeći potez zlonamjernog softvera nalazila se na EthereumuOdvajanjem društvenog inženjeringa (GitHub) od kontrole (pametni ugovor), operateri su otežali uočavanje i ometanje kampanje.
Međusobni odnosi i konkretni koraci za branitelje

ReversingLabs je objavio detaljan popis artefakata povezanih s ovom aktivnošću, zajedno s ključnom referencom na lancu koja je pokrenula drugu fazu. Sljedeće stavke mogu se koristiti za tražiti, blokirati i provjeravati izloženosti u cjevovodima za izgradnju i radnim stanicama za razvojne programere:
- npm packages: colortoolsv2 1.0.0 (SHA1 678c20775ff86b014ae8d9869ce5c41ee06b6215), 1.0.1 (1bb7b23f45ed80bce33a6b6e6bc4f99750d5a34b), 1.0.2 (db86351f938a55756061e9b1f4469ff2699e9e27)
- npm packages: mimelib2 1.0.0 (bda31e9022f5994385c26bd8a451acf0cd0b36da), 1.0.1 (c5488b605cf3e9e9ef35da407ea848cf0326fdea)
- Second stage: SHA1 021d0eef8f457eb2a9f9fb2260dd2e39ff009a21
- Pametni ugovor korišten za C2 indirektno slanje: 0x1f171a1b07c108eae05a5bccbe86922d66227e2b
Dodatni kontekst iz faze uklanjanja: colortoolsv2 je uklonjen iz npm-a 7. srpnja, nakon čega su operateri prešli na mimelib2 s istom referencom na lancu i gotovo identičnim ponašanjem učitavača.
Preporučene radnje za inženjerske i sigurnosne timove uključuju: označi pretraživanja na lancu koja izvode instalacijske skripte; blokirati ili upozoriti na izvršavanje child_process u hookovima životnog ciklusa paketa; zabraniti mrežni izlaz tijekom instalacije npm-a u CI; provoditi popise dopuštenih za registre i održavatelje; zaključavati tranzitivne verzije; i pratiti zahtjeve vezane uz gore navedenu adresu ugovora.
Općenito, metrike popularnosti repozitorija treba tretirati kao signale koji nisu sigurnosni. Povjerenje bi trebalo proizaći iz koda, artefakata i mrežnih indikatora, a ne broj zvjezdica, volumen commitova ili pojava mnogih „održavatelja“. Neovisna verifikacija - statička analiza, izvršavanje u sandboxu i provjere porijekla vođene SBOM-om - ostaje bitna.
Ono što se ističe u ovoj kampanji nije pojedinačna mana Ethereuma, NPM-a ili GitHuba, već način na koji se javna infrastruktura može utkati u prikriveni lanac isporuke. premještanje C2 otkrivanja na pametni ugovor i pranje kredibiliteta putem GitHuba, akteri su proširili tradicionalno otkrivanje izvan okvira. Pažljiva higijena ovisnosti i slojevite kontrole su protuteža.
