En attack registrerades på användare av NPM-katalogen, vilket ledde till att den 20 februari publicerades mer än 15 tusen paket i NPM-förvaret, vars README-filer innehöll länkar till nätfiskewebbplatser eller hänvisningslänkar för klick på vilka royalties är betalad. Under analysen identifierades 190 unika nätfiske- eller reklamlänkar i paketen som täcker 31 domäner.
Namnen på paketen valdes för att väcka intresse hos vanliga människor, till exempel "gratis-tiktok-följare", "gratis-xbox-koder", "gratis-instagram-följare", etc. Beräkningen gjordes för att fylla listan över senaste uppdateringar på NPM:s startsida med spampaket. Beskrivningarna av paketen innehöll länkar som lovade gratis giveaways, presenter, spelfusk, samt gratistjänster för att öka prenumeranter och gilla-markeringar på sociala nätverk som TikTok och Instagram. Detta är inte den första attacken av detta slag; i december publicerades 144 tusen spampaket i katalogerna NuGet, NPM och PyPi.

Paketens innehåll genererades automatiskt med hjälp av ett pythonskript som tydligen oavsiktligt lämnades kvar i paketen och inkluderade de arbetsuppgifter som användes i attacken. Paketen publicerades under många olika konton med tekniker som gör det svårt att reda ut spåren och snabbt identifiera problematiska paket.
Förutom bedrägliga aktiviteter upptäcktes även flera försök att publicera skadliga paket i NPM- och PyPi-förråden:
- 451 skadliga paket hittades i PyPI-arkivet. Paketen utgav sig för att vara populära bibliotek med hjälp av typosquatting (genom att tilldela liknande namn som skiljer sig åt i enskilda tecken, till exempel vper istället för vyper, bitcoinnlib istället för bitcoinlib, ccryptofeed istället för cryptofeed, ccxtt istället för ccxt, cryptocommpare istället för cryptocompare, seleium istället för selenium, pinstaller istället för pyinstaller, etc.). Paketen innehöll obfuskerad kod för att stjäla kryptovaluta, som upptäckte förekomsten av kryptoplånboksidentifierare i urklipp och ersatte dem med angriparens plånbok (det antas att offret inte märker att plånboksnumret som överförs via urklipp är annorlunda när en betalning görs). Ersättningen utfördes av ett inbäddat webbläsartillägg som kördes i samband med varje besökt webbsida.
- En serie skadliga HTTP-bibliotek har identifierats i PyPI-förvaret. Skadlig aktivitet hittades i 41 paket, vars namn valdes ut med hjälp av typequatting-metoder och liknade populära bibliotek (aio5, requestst, ulrlib, urllb, libhttps, piphttps, httpxv2, etc.). Fyllningen utformades för att likna fungerande HTTP-bibliotek eller kopierade koden för befintliga bibliotek, och beskrivningen inkluderade påståenden om fördelarna och jämförelser med legitima HTTP-bibliotek. Skadlig aktivitet bestod av att antingen ladda ner skadlig programvara till systemet eller att samla in och skicka känslig data.
- NPM identifierade 16 JavaScript-paket (speedte*, trova*, lagra), som förutom den angivna funktionaliteten (genomströmningstestning), även innehöll kod för att bryta kryptovaluta utan användarens vetskap.
- 691 skadliga paket upptäcktes i NPM. De flesta av de problematiska paketen imiterade Yandex-projekt (yandex-logger-sentry, yandex-logger-qloud, yandex-sendsms, etc.) och innehöll kod för att skicka konfidentiell information till externa servrar. servrarMan tror att de som publicerade paketen försökte ersätta sina egna beroenden när de byggde projekt i Yandex (en metod för att ersätta interna beroenden). I PyPI-arkivet hittade samma forskare 49 paket (reqsystem, httpxfaster, aio6, gorilla2, httpsos, pohttp, etc.) som innehöll förvrängd skadlig kod som laddar ner och kör en körbar fil från en extern server. server.
Källa: opennet.ru
