101 Pachete npm Malițioase Înrolează Dezvoltatori, Fără Voia Lor, în Rețele de Boți WhatsApp
Cercetătorii în securitate au descoperit o campanie amplă de tip supply-chain — denumită PhantomSub — construită în jurul a 101 pachete npm care imită Baileys, biblioteca open-source populară pentru API-ul WhatsApp Web în Node.js. În loc să adauge automatizări de chat unui proiect, aceste pachete preiau pe ascuns chiar sesiunea WhatsApp autentificată a dezvoltatorului.
Ce s-a întâmplat
Pachetele malițioase, majoritatea variante typosquat sau forkuri „ajutătoare” ale Baileys (nume precum ourin-baileys, neuralwhatsapp, cloud-baileys și zeci de variante similare), au fost descărcate cumulat de aproximativ 490.000 de ori, dintre care 116.000 doar în ultimele 30 de zile. Odată instalat, codul folosește abuziv contul WhatsApp al victimei pentru a-l înscrie automat — fără niciun consimțământ — în grupuri de marketing și canale de „urmărire” controlate de atacatori.
Analiștii au identificat trei modele de implementare distincte:
- Un set (19 pachete) preia ID-urile canalelor țintă dintr-un depozit GitHub, în timp real.
- Un al doilea set, mai mare (60 de pachete), are ID-urile canalelor scrise direct, în clar, în cod.
- Un al treilea set (14 pachete) folosește aceleași ID-uri, dar codificate sau obfuscate.
Deși numele pachetelor și ale publicatorilor diferă, multe dintre ID-urile canalelor, listele la distanță și conturile GitHub se suprapun — un indiciu că în spate se află un operator comun (sau un grup restrâns de operatori) care colectează urmăritori din fiecare variantă de pachet, indiferent cine îl întreține oficial.
Activitatea poate fi urmărită cel puțin până în august 2026, când o descoperire conexă arăta forkuri malițioase Baileys care preluau pe ascuns canalele de „urmărire” ale victimei și injectau linkuri promoționale ale operatorului în fiecare imagine și videoclip gestionat de bot. O dezvăluire separată, mai recentă, a identificat un alt pachet bazat pe Baileys care abona sesiunile autentificate ale dezvoltatorilor la canale de tip newsletter controlate de atacatori. Mai multe dintre grupurile identificate vizează piețe de jocuri mobile și monedă virtuală în joc și folosesc un număr umflat de urmăritori drept dovadă socială pentru a vinde scripturi de boți, servicii de „boosting” și aplicații APK piratate.
De ce contează
Nu este vorba despre o ușă din spate clasică pentru furt de date — dar este o preluare reală de încredere și reputație. Un dezvoltator care instalează unul dintre aceste pachete își împrumută, practic, identitatea WhatsApp și rețeaua de urmăritori unei operațiuni de marketing străine, fără nicio vizibilitate sau control asupra a ceea ce promovează acea operațiune. Pentru o organizație, un cont de dezvoltator compromis, legat de sesiuni WhatsApp Business sau Web, poate deveni și un punct de plecare pentru campanii ulterioare de inginerie socială sau phishing derulate „din partea” unui contact de încredere.
Este, de asemenea, un exemplu clasic de typosquatting la scară largă pe npm: zeci de nume de pachete aproape identice, care profită de popularitatea unei biblioteci legitime și larg folosite, în timp ce pipeline-urile CI/CD automatizate pot prelua un pachet compromis la fel de ușor ca un npm install făcut manual.
Ce trebuie să faceți
- Verificați arborele de dependențe (
package.json, fișierele lock și dependențele tranzitive) pentru forkuri sau variante typosquat ale Baileys, în locul pachetului oficial upstream. - Dacă vreun cont WhatsApp folosit pentru dezvoltare sau automatizare ar fi putut instala unul dintre aceste pachete, verificați apartenența la grupuri și canale și părăsiți orice grup sau canal nerecunoscut.
- Adăugați reguli de detecție în pipeline-ul de SCA/scanare a dependențelor pentru a semnala pachetele cu nume Baileys care nu provin din proiectul oficial verificat.
- Evitați orice pachet Node.js care necesită conectarea unei sesiuni WhatsApp personale sau business, dacă proveniența și mentenanții nu sunt verificați.
- Considerați acest caz un memento pentru a fixa versiunile dependențelor, a revizui scripturile de instalare și a monitoriza variantele typosquat ale bibliotecilor esențiale folosite de echipa voastră.
