Pachetele npm de la dino_reborn utilizate pentru amprentare și redirecționare spre escrocherii cu criptomonede prin Adspect

Când pachete publicate pe npm ajung să direcționeze utilizatori către site-uri de tip înșelătorie cu criptomonede, merită să analizăm cum s-a întâmplat și cine a fost implicat. În ultimele luni, cercetătorii în securitate au identificat pachete care folosesc un serviciu cloud pentru a separa cercetătorii de potențialele victime și pentru a redirecționa traficul către pagini false ce folosesc branduri de criptomonede.

Node Package Manager, folosit de mii de dezvoltatori, a găzduit șapte pachete publicate de un cont denumit dino_reborn între septembrie și noiembrie. Pachetele sunt signals-embed, dsidospsodlks, applicationooks21, application-phskck, integrator-filescrypt2025, integrator-2829 și integrator-2830. Șase dintre ele includ cod pentru colectarea datelor despre vizitatori și pentru „cloaking”, iar unul, signals-embed, este folosit ca pagină decoy aparent benignă. Practic, primul oferă o fațadă curată, iar celelalte fac treaba murdară.

Metoda utilizată e relativ simplă și, din păcate, eficientă: pachetele injectează un script JavaScript de aproximativ 39 KB care rulează imediat la încărcarea paginii. Scriptul funcționează ca un instrument de fingerprinting: colectează user agent, host, referrer, URI, query string, protocol, limbă, encoding, timestamp, tipuri de conținut acceptate și altele, și trimite toate aceste date către un API al serviciului Adspect. Pe scurt, încearcă să stabilească dacă vizitatorul este un cercetător de securitate sau o persoană reală care ar putea fi păcălită.

Pentru a complica analiza, scriptul include și măsuri anti-analiză: dezactivează clickul dreapta, blochează taste precum F12, Ctrl+U, Ctrl+Shift+I și chiar reîncarcă pagina dacă detectează DevTools. Acestea fac dificilă inspectarea sursei fără ca utilizatorul să fie „pedepsit” de pagină. Dacă vizitatorul e considerat potențial victimă, este redirecționat către o pagină CAPTCHA cu aspect de brand de criptomonedă (Ethereum, Solana), care apoi deschide, într-un tab nou, un URL stabilit de Adspect, mascat ca o acțiune a utilizatorului. Dacă traficul pare venit de la un cercetător, se încarcă o pagină inofensivă, asemănătoare unei companii reale, Offlido, tocmai pentru a evita suspiciunile.

Adspect se descrie ca un serviciu care filtrează accesul neautorizat, blocând roboți și trafic malițios și permițând utilizatorilor legitimi accesul la pagină. Compania a fost contactată pentru explicații și a afirmat că serviciul lor este doar un API care indică dacă un IP aparține unui bot sau nu și că nu au vizibilitate asupra modului în care clienții folosesc acea informație. Ei susțin că nu pot implementa măsuri tehnice pentru a preveni abuzul, pentru că nu „rutează” traficul, ci doar furnizează verdicturi. Adspect a mai spus că detectează instrumente precum Puppeteer, Playwright sau Selenium și că verifică IP-urile din centre de date. În plus, au verificat un stream ID menționat și au declarat că nu era valid sau că a fost șters ulterior; intenționează să consulte logurile și să blocheze utilizatorii care încalcă termenii.

Cazul evidențiază două probleme concrete: vulnerabilitatea lanțului de dependențe în ecosistemele open-source și modul în care servicii terțe pot fi folosite abuziv atunci când oferă doar verdicturi, fără a controla fluxul de trafic. Un pachet npm publicat de un dezvoltator, chiar anonim, poate ajunge rapid în aplicații web și poate executa cod în pagina utilizatorului final. În plus, mecanismele de „cloaking” care deosebesc cercetătorul de victima reală devin tot mai sofisticate, folosind fingerprinting detaliat și blocări ale instrumentelor de debugging.

Dincolo de aspectele tehnice, rămâne problema responsabilității: cine trebuie să verifice aceste servicii și pachete? Registrele de pachete ar putea implementa scanări mai stricte, iar serviciile API care oferă verdicturi privind traficul ar putea furniza și instrumente de audit sau indicii de încredere care să permită verificarea utilizării corecte. Până atunci, dezvoltatorii trebuie să rămână atenți la pachetele terțe, iar specialiștii în securitate să-și adapteze metodele de analiză pentru a reduce surprizele. Ce urmează pentru utilizatorii obișnuiți: dacă folosești produse web care includ multe librării externe, e bine să monitorizezi sursele și actualizările, deoarece un singur pachet compromis poate declanșa efecte în lanț.

signals-embed este folosit ca fațadă curată, iar celelalte pachete conțin cod de fingerprinting și redirecționare către pagini false. Adspect susține că oferă doar verdicturi asupra IP-urilor și nu are vizibilitate asupra modului în care clienții folosesc aceste date. Numele pachetelor implicate și intervalul publicării sunt septembrie–noiembrie, iar autorul indicat este dino_reborn (geneboo@proton[.]me). Cercetarea a fost realizată de specialiști în securitate de la Socket.

Această poveste ilustrează cât de ușor pot fi folosite mecanisme legitime de detecție în scopuri înșelătoare. Un exemplu concret: un script de 39 KB injectat dintr-un pachet npm poate trimite un fingerprint complet către Adspect și poate declanșa redirecționarea către o pagină cu tematică Ethereum sau Solana. Răspunsul oficial al Adspect a fost că vor verifica logurile și pot bloca utilizatorii care încalcă termenii, dar că nu dispun de instrumente care să prevină tehnic abuzul, pentru că nu procesează traficul direct. Din punct de vedere tehnic, responsabilitatea revine parțial întreținătorilor registrelor de pachete și dezvoltatorilor care integrează dependențe externe.

Vrei să afli cum să verifici un pachet npm înainte de a-l folosi sau ce semnale te pot avertiza că un script efectuează fingerprinting? Care ar fi măsurile practice pe care le-ai lua pentru a proteja o aplicație web?

Fii primul care comentează

Lasă un răspuns

Adresa ta de email nu va fi publicată.


*