Versiuni troianizate ale jQuery au fost găsite pe npm, GitHub și jsDelivr într-un atac complex pe lanțul de aprovizionare. Malware-ul este ascuns în funcția “end” a jQuery, care este apelată intern de funcția “fadeTo”. Până la 68 de pachete sunt legate de această campanie.
Detalii ale atacului
Actori necunoscuți au fost descoperiți propagând versiuni troianizate ale jQuery pe npm, GitHub și jsDelivr în ceea ce pare a fi un exemplu de atac pe lanțul de aprovizionare “complex și persistent”. “Acest atac se remarcă prin variabilitatea mare a pachetelor,” a spus Phylum într-o analiză publicată săptămâna trecută. “Atacatorul a ascuns cu măiestrie malware-ul în funcția ‘end’ a jQuery, care este apelată intern de funcția ‘fadeTo’ din utilitățile de animație.”
Campania de propagare
Până la 68 de pachete au fost legate de această campanie. Acestea au fost publicate pe registrul npm începând cu 26 mai și până la 23 iunie 2024, folosind nume precum cdnjquery, footersicons, jquertyi, jqueryxxx, logoo și sytlesheets, printre altele. Există dovezi care sugerează că fiecare dintre pachetele false au fost asamblate și publicate manual datorită numărului mare de pachete publicate din diferite conturi, diferențelor în convențiile de denumire, includerii de fișiere personale și perioadei lungi de timp în care au fost încărcate. Aceasta este diferită de alte metode frecvent observate în care atacatorii tind să urmeze un model predefinit care subliniază un element de automatizare implicat în crearea și publicarea pachetelor. Modificările malițioase, conform Phylum, au fost introduse într-o funcție numită “end,” permițând actorului amenințării să exfiltreze datele din formularele de pe site-uri web către un URL remote.
Investigații suplimentare
Investigațiile suplimentare au descoperit că fișierul troianizat jQuery este găzduit pe un repository GitHub asociat cu un cont numit “indexsc.” De asemenea, în același repository sunt prezente fișiere JavaScript care conțin un script ce indică versiunea modificată a bibliotecii.
„Este de remarcat faptul că jsDelivr construiește automat aceste URL-uri GitHub fără a fi necesară încărcarea explicită pe CDN,” a spus Phylum. “Aceasta este probabil o încercare a atacatorului de a face sursa să pară legitimă sau de a trece prin firewall-uri folosind jsDelivr în loc să încarce codul direct de pe GitHub.” Dezvoltarea vine în contextul în care Datadog a identificat o serie de pachete pe repository-ul Python Package Index (PyPI) cu capacități de a descărca un binar de pe un server controlat de atacator, în funcție de arhitectura CPU.
Importanța descoperirii
Descoperirea versiunilor troianizate ale jQuery este extrem de importantă deoarece jQuery este una dintre cele mai populare biblioteci JavaScript utilizate pe scară largă în dezvoltarea web. Un astfel de atac pe lanțul de aprovizionare poate avea consecințe devastatoare asupra securității datelor și integrității site-urilor web. Dacă un dezvoltator neglijent folosește fără să știe o versiune compromisă, datele sensibile ale utilizatorilor ar putea fi exfiltrate, iar site-urile web ar putea fi compromise. Aceste probleme pot duce la pierderi financiare, compromiterea datelor personale și daune reputaționale pentru companii. De aceea, este crucial ca dezvoltatorii să fie vigilenți și să verifice sursele pachetelor pe care le utilizează în proiectele lor.
Sursa articolului:
https://thehackernews.com/2024/07/trojanized-jquery-packages-found-on-npm.html