Ļaunprātīgas npm pakotnes slēpa lietderīgās informācijas maršrutus Ethereum viedajos līgumos

Pēdējā atjaunošana: 09/04/2025
  • Divas npm pakotnes, colortoolsv2 un mimelib2, pieprasīja Ethereum viedajiem līgumiem iegūt C2 URL otrās pakāpes ļaunprogrammatūrai.
  • Uzbrucēji veica iestudētu kampaņu, izmantojot viltotus GitHub tirdzniecības robotu repo, lai pievilinātu izstrādātājus.
  • Šī metode apvienojas ar likumīgu blokķēdes datplūsmu, sarežģot atklāšanu un noņemšanu.
  • ReversingLabs koplietoja IoC, tostarp pakotņu jaucējkodus un līguma adresi, ko izmanto URL apkalpošanai.

Ethereum viedie līgumi npm

Pētnieki ir detalizēti izstrādājuši piegādes ķēdes shēmu npm reģistrā, kurā konsultējās divas JavaScript bibliotēkas. Ethereum viedie līgumi lai atklātu lejupielādes vietas turpmākai ļaunprogrammatūrai. Šī taktika, kas tika novērota 2025. gada jūlijā un tagad ir noņemta no npm, parāda, kā publiskās blokķēdes var ļaunprātīgi izmantot kā netiešas ietekmes slāni, lai saglabātu vadības un kontroles (C2) infrastruktūra ārpus redzesloka.

Tā vietā, lai iegultu fiksētus URL, ļaunprātīgais kods tos izpildes laikā izvilka no līguma Ethereum platformā, padarot darbību līdzīgu parastajiem ķēdes vaicājumiem. Šī pāreja uz decentralizēta “adrešu grāmata” lietderīgās slodzes piegādei ilustrē, kā apdraudējumu dalībnieki pielāgojas, lai izvairītos no tradicionālās skenēšanas un vienkāršotiem bloķēšanas sarakstiem.

Kas tika augšupielādēts pakalpojumā npm

Saskaņā ar ReversingLabs datiem, paketes ar nosaukumu krāsu toolsv2 un mimelib2 tika publicēti 2025. gada jūlijā un vēlāk noņemti. Katrs no tiem darbojās kā neliels ielādētājs: kad pakotne bija instalēta vai importēta, tas izpildīja kodu, kas sazinājās ar Ethereum līgumu, nolasīja vērtību un pēc tam no atgrieztā URL ielādēja nākamā posma komponentu.

Lai gan npm bibliotēkas dziļi neapgrūtināja savu ielādes darbību, ticamība tika radīta citur: saistītie GitHub projekti pieņēma pazīstamus nosaukumu piešķiršanas un darbību modeļus, lai tie šķistu likumīgi, tādējādi atvieglojot izstrādātājiem pieņemt atkarību Īsumā.

Kā darbojās viedā līguma pagrieziena punkts

Kravnesības atrašanās vietas nebija stingri iekodētas. Tā vietā ielādētājs vaicāja līgumu vietnē 0x1f171a1b07c108eae05a5bccbe86922d66227e2b, izmantojot lasīšanas funkcijas, kas atgrieza virkni, kas interpretēta kā otrā posma URL. Izvietojot rādītāju ķēdē, uzbrucēji ieguva noturību: tas ir publiska, vaicājama un atjaunināma neizlaižot jaunas npm versijas vai neuzturot vienu serveri, kam ir tendence uz noņemšanu.

Tā kā blokķēdes meklēšana atgādina labdabīgus kriptovalūtu rīkus un analītiku, šie pieprasījumi var tikt iekļauti parastajās izstrādātāju darbplūsmās. Šī pieeja atspoguļo agrākas idejas, piemēram, EtherHiding, taču šeit tā tika tieši integrēta. npm pakotnes izpilde, pārvēršot ikdienas instalēšanu par pakāpeniskas piegādes ceļu.

Plašāka GitHub virzība uz sākuma stadijā esošu ieviešanu

Uz npm pakotnēm tika atsauktas GitHub repozitoriju tīklā, kas pozicionēti kā kriptovalūtu tirdzniecības utilītprogrammas. Piemēri bija šādi: solana-trading-bot-v2, ethereum-mev-bot-v2, arbitrāžas robots, un hiperlikviditātes tirdzniecības robotsAktivitāte ap šiem repozitorijiem — zvaigznes, atzari, vērotāji un biežas izmaiņas — tika veidota, lai projicētu leģitimitāti un impulsu.

ReversingLabs saista šo pastiprinājumu ar izplatīšanas kā pakalpojuma klasteri, kas pazīstams kā Stargazers Ghost tīkls, kur koordinēti konti uzpūš popularitātes signālus un projektos ievieš ļaunprātīgas atkarības. Saistītais GitHub konts vienam vadošajam repozitorijam vēlāk tika noņemts, taču izmaiņu vēsture parādīja, kā ļaunprātīga importēšana laika gaitā tika ievītināti kodā.

Laika grafiks un pakotņu rotācija

Colortoolsv2 parādījās pirmais un tika bloķēts npm ap Jūlijs 7, 2025Drīz pēc tam aktieri tika nomainīti pret gandrīz identisku aizvietotāju ar nosaukumu mimelib2, saglabājot to pašu viedlīguma meklēšanu otrā posma URL. Šī straujā apmaiņa uzsver pazīstamu piegādes ķēdes incidentu modeli: tiklīdz viens artefakts ir atzīmēts, līdzinieku pakete ātri pilda savu lomu.

Kompromitācijas rādītāji (IoC)

ReversingLabs ziņoja par šādiem rādītājiem, kas attiecas uz kampaņu. Organizācijas var tos izmantot, lai veicinātu atklāšana un medības centieni:

  • npm pakotnes un versijas:
    • colortoolsv2 1.0.0 (SHA1 678c20775ff86b014ae8d9869ce5c41ee06b6215)
    • colortoolsv2 1.0.1 (SHA1 1bb7b23f45ed80bce33a6b6e6bc4f99750d5a34b)
    • colortoolsv2 1.0.2 (SHA1 db86351f938a55756061e9b1f4469ff2699e9e27)
    • mimelib2 1.0.0 (SHA1 bda31e9022f5994385c26bd8a451acf0cd0b36da)
    • mimelib2 1.0.1 (SHA1 c5488b605cf3e9e9ef35da407ea848cf0326fdea)
  • Otrā posma fails: SHA1 021d0eef8f457eb2a9f9fb2260dd2e39ff009a21
  • Ethereum contract: 0x1f171a1b07c108eae05a5bccbe86922d66227e2b

Kāpēc šī metode sarežģī aizsardzību

Lēmuma “kurp doties tālāk” pieņemšanu ārpakalpojumā sniedzot smart līgums, uzbrucēji atvieno ļaunprogrammatūras loģiku no viena galapunkta. Ja URL tiek bloķēts, līguma vērtību var atjaunināt, un tā pati npm pakotne atrisinās jaunu atrašanās vietu bez izmaiņām. Šī dinamika grauj statiskie indikatori un paceļ latiņu nogāšanai.

Turklāt daudzas izstrādātāju vides jau mijiedarbojas ar web3 galapunktiem, tāpēc EVM izsaukumi var nebūt aizdomīgi. Robeža starp likumīgu blokķēdes trafiku un ļaunprātīga bāksignālu ģenerēšana izplūšanu, radot izaicinājumus gan tīkla uzraudzības, gan galapunktu noteikšanas stratēģijām.

Praktiski soļi npm un web3 izstrādātājiem

Pirms atkarības ieviešanas komandām jāapvieno koda, uzturētāja un tīkla pārbaude. Papildus lejupielāžu skaitam un zvaigznītēm pārbaudiet arī uzturētāja vēsture, repozitorija vecums, apstiprināšanas kvalitāte, izlaišanas ritms un tas, vai pakotne negaidīti sasniedz ķēdē iekļautos līgumus vai nepazīstamus resursdatorus.

  • Pārbaudiet uzstādīšanas un pēcuzstādīšanas āķus, kā arī ieejas punktus, lai konstatētu tīkla zvani vai bērnu procesa izpilde.
  • Bloķējiet vai brīdiniet par negaidītiem EVM RPC vaicājumiem no CI/CD vai būvējuma cauruļvadiem; nosakiet, kam jūsu rīkiem vajadzētu piekļūt, un noliegt pārējo.
  • Piespraudiet versijas, izmantojiet bloķēšanas failus un spoguļojiet pārbaudītas pakotnes iekšējā reģistrā, lai samazinātu atkarību no riskiem. pakešu apmaiņa.
  • Izmantojiet artefaktu apliecinājumus un paraksta verifikāciju (piemēram, SLSA izcelsmi), lai nodrošinātu atkarību integritāti. pārbaudīts būvēšanas laikā.
  • Nepārtraukti skenējiet atkarības grafikus, lai atrastu jaunatklātus IoC un anomālus uzturētāja izmaiņas.

Repozitorijiem, kurus skāra kampaņa, pārskatiet nesen veiktās izmaiņas, lai ieviestu colortoolsv2 vai mimelib2, roll atslēgas un žetonus, kas tika izmantoti kompromitēto versiju laikā, un apsveriet iespēju atkārtoti izveidot sistēmas, kas izpildīja skartās pakotnes, lai noņemtu jebkādus otrās pakāpes artefakti.

Epizodē tiek uzsvērts, kā pazīstama platforma — npm — var tikt izmantota līdzās Ethereum, lai maskētu pēdas starp atkarību un tās lietderīgās slodzes resursdatoru. Tā kā ķēdē esošie dati kalpo kā noturīgs rādītājs, aizsardzības sistēmas tiek spiestas korelēt. pakotnes uzvedība, GitHub signāli un blokķēdes lasījumi lai pamanītu to, ko vienkāršas statiskas pārbaudes nepamana.

Related posts: