Un incident major de securitate a zguduit comunitatea de dezvoltatori după ce un hacker a reușit să infecteze peste 18 pachete npm populare, descărcate împreună de aproximativ 2 miliarde de ori pe săptămână. Atacul a fost posibil printr-o campanie de phishing ce l-a vizat pe Josh Junon, dezvoltatorul responsabil de întreținerea acestor module.
Cum s-a produs compromiterea
Hackerul a trimis un e-mail de phishing, care părea să provină de la domeniul oficial npmjs.com, dar era de fapt generat de adresa falsă npmjs[.]help. Mesajul îi cerea utilizatorului să își actualizeze autentificarea în doi pași. După ce Junon a accesat linkul, atacatorii i-au obținut accesul la cont și au injectat un cod malițios în mai multe module.
Ce face malware-ul
Conform companiei Socket, codul malițios viza furtul de criptomonede prin manipularea tranzacțiilor efectuate în browser. Orice adresă de portofel introdusă de utilizatori era înlocuită cu cea a atacatorului, redirecționând astfel fondurile.
Impactul real
Deși Aikido Security a descris evenimentul ca fiind „cel mai mare compromis al lanțului de aprovizionare din istoria npm”, efectele asupra utilizatorilor par a fi limitate. Potrivit Semgrep, versiunile infectate au fost disponibile doar pentru o perioadă foarte scurtă și nu au înregistrat descărcări semnificative. În plus, pentru ca un proiect să fie efectiv compromis, trebuiau îndeplinite simultan trei condiții tehnice, ceea ce reduce considerabil aria de impact.
Reacția comunității
Incidentul a fost descoperit rapid, iar pachetele infectate au fost eliminate. Cu toate acestea, cercetătorii atrag atenția asupra unui risc sporit: atacatorul ar fi putut încerca să compromită și alți mentenanți de pachete npm.
„Compromisul a fost semnificativ. Dar payload-ul a fost unul amator. Tot ce aveau era acces – nu și skill,” a explicat cercetătorul de securitate Florian Roth.
Ce urmează
Atacul subliniază vulnerabilitatea ecosistemului open-source, unde compromiterea unui singur cont de dezvoltator poate afecta milioane de proiecte și utilizatori finali. Comunitatea cere acum măsuri suplimentare de protecție, inclusiv politici mai stricte pentru autentificarea dezvoltatorilor și monitorizarea automată a codului publicat pe platforme precum npm.