HelloWorld logo
12.09.2025. ·
3 min

Najveći udar na npm do sada: “chalk” i “debug” kompromitovani, cilj je krađa kripta

HelloWorld

Ako radiš sa Node projektima, ovo te direktno pogađa. Popularni paketi dobili su zlonamerne verzije koje u pregledaču preusmeravaju web3 transakcije na adrese napadača. Ne oslanjaj se na to da će UI da te spase, jer se manipulacija dešava ispod haube.

Kompromitacija je krenula masovno i zahvatila ključne pomoćne biblioteke koje koristi gotovo svaki frontend build. U pitanju su paketi poput chalk, debug, ansi-styles, strip-ansi, supports-color i još više od deset sličnih modula. Ideja napada je jednostavna: kada tvoj sajt ili aplikacija u pregledaču obrađuje kripto transakcije, zlonamerni kod presretne odredišta i odobrenja i tiho ih zameni vrednostima koje vode ka napadaču. 

U praksi to znači da sve izgleda normalno dok radiš. Formular, potvrda i ekrani za potpisivanje ostaju isti, ali ono što se zaista šalje novčaniku ili mreži menjano je u pozadini. Zato je rizik veliki i za projekte koji kripto dotiču indirektno, recimo kroz widgete, integracije ili proširenja. 

Kako te napad konkretno pogađa 

Zlonamerni payload radi kao presretač na nivou pregledača. Ubacuje se u ključne web API funkcije poput fetch i XMLHttpRequest, kao i u interfejse novčanika, uključujući window.ethereum i Solana pozive. Zatim traži obrasce koji liče na adrese i identifikatore transakcija za Ethereum, Bitcoin, Solana, Tron, Litecoin i Bitcoin Cash. Kada nađe cilj, menja ga adresom koja pripada napadaču. Da bi izmene bile manje upadljive, koristi slične stringove, pa na prvi pogled adresa deluje očekivano. 

Pošto deluje na više slojeva, napad utiče na sadržaj koji vidiš, na mrežne zahteve koje aplikacija šalje i na ono što tvoj novčanik misli da potpisuje. Ako ti projekat uopšte može da dođe u kontakt sa web3 aktivnostima, moraš da računaš da si izložen. 

Šta da uradiš odmah 

  1. Proveri verzije. Uporedi instalirane verzije svih pomoćnih modula sa poslednjim stabilnim izdanjima. Posebno proveri chalk, debug, ansi-styles, strip-ansi i supports-color. Ako koristiš monorepo, proveri sve pakete i aplikacije, ne samo glavnu.
  2. Očisti okruženje. Očisti npm cache, ukloni node_modules i uradi čist reinstall sa zaključanim verzijama. Ako nemaš zaključavanje, uvedi ga odmah. Pinuj verzije i izbegavaj šire rasponove.
  3. Rotiraj tajne i sesije. Ako se build ili lokalna mašina dotakla kompromitovanog paketa, promeni tokenе, ključeve i poverljive varijable okruženja. Tretiraj incident kao potencijalno curenje.
  4. Revidiraj frontend bundle. Pretraži bundle i sourcemap fajlove za sumnjive stringove i pozive prema wallet interfejsima. Obrati pažnju na izvršavanje koda u ranoj fazi učitavanja i na prepravljanje mrežnih odgovora.
  5. Uvedi zaštitu u supply chain. U praksu uvedi SBOM, proveru integriteta, pre-instal skeniranje i alarmiranje na neočekivane verzije. Podešavaj CI da blokira nepoznate izdavače, a u lock fajlovima prati hash-eve i potpisane izvore.
  6. Kontroliši šta browser zaista potpisuje. Ako aplikacija potpisuje transakcije, uvedi dodatne validacije odredišta na server strani, prikaži korisniku sumirane važne parametre i obavezno evidentiraj odstupanja.
  7. Treniraj tim. Prepoznaj fišing šablone i sumnjive domene koji glume podršku. Uvedi pravilo potvrde preko drugog kanala pre bilo kakvog resetovanja naloga.

Na kraju, nemoj da zaboraviš da se ovakvi incidenti brzo razvijaju. Ako si već uradio čišćenje, vrati se posle sat vremena i ponovi proveru. Uvedi kratkoročni monitoring neobičnih mrežnih poziva i potpisivanja transakcija u produkciji.

Napiši komentar

Iz ove kategorije