Er werd een aanval op gebruikers van de NPM-directory geregistreerd, als gevolg waarvan op 20 februari meer dan 15 pakketten in de NPM-repository werden geplaatst, waarvan de README-bestanden links bevatten naar phishingsites of verwijzingslinks, voor kliks waarover royalty's worden betaald. Tijdens de analyse werden 190 unieke phishing- of advertentielinks in de pakketten geïdentificeerd, verspreid over 31 domeinen.
De namen van de pakketten werden gekozen om de interesse van gewone mensen te wekken, bijvoorbeeld "free-tiktok-followers", "free-xbox-codes", "instagram-followers-free", enz. Het idee was om de lijst met recente updates op de NPM-homepage te vullen met spampakketten. In de beschrijvingen van de pakketten stonden links die gratis weggeefacties, cadeaus, cheats voor games en gratis diensten beloofden om meer volgers en likes te krijgen op sociale netwerken zoals TikTok en Instagram. Dit is niet de eerste aanval van deze aard; In december werden er 144 duizend spampakketten gepubliceerd in de NuGet-, NPM- en PyPi-directory's.

De inhoud van de pakketten werd automatisch gegenereerd met behulp van een Python-script dat blijkbaar onbedoeld in de pakketten was achtergebleven en dat de werkende inloggegevens bevatte die tijdens de aanval werden gebruikt. De pakketten werden onder verschillende accounts gepubliceerd, waarbij technieken werden gebruikt die het lastig maakten om het spoor te volgen en problematische pakketten snel te identificeren.
Naast frauduleuze activiteiten zijn er ook verschillende pogingen gedetecteerd om schadelijke pakketten te publiceren in de NPM- en PyPi-repositories:
- Er werden 451 schadelijke pakketten gevonden in de PyPI-repository die zich voordeden als populaire bibliotheken door middel van typosquatting (het toekennen van vergelijkbare namen die verschillen in individuele tekens, bijvoorbeeld vper in plaats van vyper, bitcoinnlib in plaats van bitcoinlib, ccryptofeed in plaats van cryptofeed, ccxtt in plaats van ccxt, cryptocommpare in plaats van cryptocompare, seleium in plaats van selenium, pinstaller in plaats van pyinstaller, etc.). De pakketten bevatten een verhulde code voor het stelen van cryptovaluta. Deze code detecteerde de aanwezigheid van cryptowallet-ID's in het klembord en veranderde deze naar de wallet van de aanvaller (er wordt van uitgegaan dat het slachtoffer bij het doen van een betaling niet zal merken dat het wallet-nummer dat via het klembord wordt overgedragen, anders is). De vervanging werd uitgevoerd door een browser-add-on die werd uitgevoerd in de context van elke bekeken webpagina.
- Er is een reeks schadelijke HTTP-bibliotheken ontdekt in de PyPI-repository. Er werd kwaadaardige activiteit aangetroffen in 41 pakketten, waarvan de namen werden gekozen met behulp van typosquatting-methoden en leken op populaire bibliotheken (aio5, requestst, ulrlib, urllb, libhttps, piphttps, httpxv2, etc.). De payload was zo vormgegeven dat het leek op werkende HTTP-bibliotheken of dat de code van bestaande bibliotheken werd gekopieerd. Bovendien bevatte de beschrijving beweringen over de voordelen en vergelijkingen met legitieme HTTP-bibliotheken. De kwaadaardige activiteit bestond uit het downloaden van malware op het systeem of het verzamelen en verzenden van vertrouwelijke gegevens.
- NPM identificeerde 16 JavaScript-pakketten (speedte*, trova*, lagra) die, naast de vermelde functionaliteit (bandbreedtetesten), ook code bevatten voor het minen van cryptocurrency zonder medeweten van de gebruiker.
- Er werden 691 kwaadaardige pakketten gedetecteerd in NPM. De meeste problematische pakketten deden zich voor als Yandex-projecten (yandex-logger-sentry, yandex-logger-qloud, yandex-sendsms, enz.) en bevatten code voor het verzenden van vertrouwelijke informatie naar externe servers. severenMen vermoedt dat degenen die de pakketten plaatsten, probeerden hun eigen afhankelijkheden te vervangen bij het bouwen van projecten in Yandex (een methode om interne afhankelijkheden te vervangen). In de PyPI-repository vonden dezelfde onderzoekers 49 pakketten (reqsystem, httpxfaster, aio6, gorilla2, httpsos, pohttp, enz.) die versleutelde kwaadaardige code bevatten waarmee een uitvoerbaar bestand van een externe server wordt gedownload en uitgevoerd. server.
Bron: opennet.ru
