Pe 18 iulie 2025, o bibliotecă JavaScript de încredere cu peste 31 de milioane de descărcări săptămânale, eslint-config-prettier
a fost folosit ca armă într-un atac asupra lanțului de aprovizionare care evidențiază cât de vulnerabile pot fi ecosistemele open-source. Încălcarea a început cu un e-mail de phishing care a păcălit responsabilul cu mentenanța să își divulge token-ul. Folosind credențialul expus, atacatorul a publicat versiuni neautorizate ale pachetului, care conținea un script postinstalare care executa un troian DLL pe mașinile Windows în timpul instalării.
Iată ce s-a întâmplat, cum a funcționat atacul și cum tehnologiile OPSWAT pot ajuta la apărarea împotriva amenințărilor similare în viitor.
Rezumatul atacului
Popularul pachet npm linter, eslint-config-prettier
este utilizat pentru a dezactiva regulile ESLint inutile sau conflictuale atunci când se utilizează Prettier. De obicei, este inclus ca dependență de dezvoltare în IDE-urile locale și în conductele CI (nu este livrat în codul de producție), dar acest lucru nu l-a împiedicat să devină un vehicul pentru malware.
Atacul s-a desfășurat după cum urmează:
1. Un e-mail de phishing falsificat pentru a apărea de la support@npmjs.org l-a păcălit pe administrator să dea clic pe un link malițios (typosquatted ca npnjs.com). După ce a urmat link-ul, responsabilul și-a expus fără să știe tokenul de acces npm, pe care atacatorul l-a folosit pentru a publica versiuni rău intenționate ale pachetului.
2. Atacatorul a folosit apoi token-ul npm furat pentru a publica versiuni malițioase ale eslint-config-prettier
pachet. Patru versiuni compromise au fost identificate pe baza rapoartelor dezvoltatorilor: 8.10.1, 9.1.1, 10.1.6, versiunile 10.1.7
În plus, deoarece atacatorul a avut acces la token-ul compromis, au fost afectate și alte pachete menținute de același autor, inclusiv: eslint-plugin-prettier, synckit, @pkgr/core
, și napi-postinstall
3. Atacatorul a adăugat două fișiere suspecte în codul sursă: install.js
și node-gyp.dll
.
Atunci când un utilizator descarcă și instalează una dintre versiunile nelegitime ale pachetelor, programul install.js
este executat, invocând un script malițios node-gyp.dll
pe sistemele Windows prin rundll32
Tehnici de atac utilizate
Phishing și inginerie socială
E-mailul falsificat a ocolit cu succes protecțiile de bază ale e-mailului (SPF/DKIM/DMARC) și s-a dat drept suport npm.
Typosquatting
Un domeniu înșelător(npnjs.com), conceput pentru a semăna cu npmjs.com, a fost utilizat pentru a fura acreditările. Aceasta este o tehnică clasică de typosquatting.
Ofuscarea codului prin concatenarea șirurilor
Versiunea malițioasă a pachetului includea un script postinstalare (install.js
) care rulează automat după instalare.
În interior, o funcție numită logDiskSpace()
părea inofensiv, dar nu a verificat deloc spațiul de pe disc. În schimb, folosea concatenarea șirurilor de caractere pentru a asambla o comandă care rula rundll32.exe
, și a încărcat un fișier DLL (node-gyp.dll
) incluse în pachet.
Secure proactivă a codului sursă și OSS cu OPSWAT
MetaDefender Software Supply Chain™ ajută organizațiile să detecteze și să blocheze dependențele open-source malițioase înainte ca acestea să intre în conducta CI/CD.
- Analiza SBOM: Scanează automat dependențele și semnalează vulnerabilitățile cunoscute, cum ar fi CVE-2025-54313, legate de acest atac.
- Detecție multi-AV: Detectează programe malware ofuscate precum node-gyp.dll folosind peste 30 de motoare anti-malware integrate prin MetaScan™ Multiscanning.
- Integrarea depozitelor de surse: Se integrează cu GitHub, GitLab și JFrog Artifactory pentru a inspecta și verifica continuu integritatea pachetelor.
Vectorul de atac a început cu e-mailul, iar aici intervine MetaDefender Email Security ™.
- Sanitizarea fișierelor: Deep CDR™ scanează și dezinfectează atașamentele de e-mail.
- Extracția hyperlink-urilor: Toate link-urile sunt afișate în text simplu, expunând domenii asemănătoare precum npnjs.com înainte ca utilizatorul să dea clic.
Principalele concluzii
- Securitatea întreținătorilor este securitatea lanțului de aprovizionare. Un singur jeton fraudulos a permis atacatorilor să deturneze biblioteci utilizate pe scară largă.
- Ecosistemele open-source se bazează pe încredere, dar un singur succes de inginerie socială se poate răsfrânge asupra a milioane de proiecte din aval.
- Măsurile de securitate proactive, cum ar fi scanarea dependenței și curățarea e-mailurilor, nu mai sunt opționale; sunt esențiale.
Ce trebuie să faceți acum
-
Evitați instalarea versiunilor afectate:
- eslint-config-prettier: 8.10.1, 9.1.1, 10.1.6, 10.1.7
- eslint-plugin-prettier: 4.2.2, 4.2.3
- synckit: 0.11.9
- @pkgr/core: 0.2.8
- napi-postinstall: 0.3.1
- Rotiți secretele utilizate în construcțiile afectate
- Activați 2FA pentru toate conturile npm
- Efectuați cursuri de sensibilizare cu privire la phishing
Atacurile asupra lanțului de aprovizionare devin mai inteligente și mai personale. Cu soluțiile OPSWATde încredere zero pentru e-mail și conductele de dezvoltare, puteți fi înaintea următorului atac.
Aflați mai multe despre MetaDefender Software Supply Chain și MetaDefender Email Security. Luați legătura cu unul dintre experții noștri pentru a găsi soluții personalizate pentru organizația dumneavoastră.