Rünnak NPM-repositooriumis olevatele pakettidele on jõudnud uuele tasemele. Lisaks pahavara kasutamisele maksete ja konfidentsiaalse informatsiooni pealtkuulamiseks, on ründajad hakanud sisestama nakatunud pakettidesse ussid, et automatiseerida pahavara sisestamist sõltuvustesse. Ussi kasutamine on fikseeritud pärast NPM-paketi @ctrl/tinycolor kompromiteerimist, millel on 2,2 miljonit nädalas allalaadimist ja mis on otsese sõltuvusena kasutatud 964 paketis. Ussi aktiivsuse tõttu on rünnakuga kaasatud 187 paketti, mille jaoks on loodud pahatahtlikud väljaanded (477 pahavara väljaannet).
Kuna ründajad on saanud kaasasutaja konto parameetrid kalastamise kaudu, avaldavad nad uue paketi väljaande, kus on uss, mis aktiveeritakse, kui nakatunud pakett installitakse sõltuvustena. Pärast aktiveerimist otsib uss praegusest keskkonnast kontode andmeid, laadides alla ja käivitades TruffleHog'i tööriista. Kui NPM katalooge ühendav token leitakse, avaldab uss automaatselt uue pahatahtliku väljaande, mis omakorda ründab sõltuvuspuud. Peale NPM ligipääsu tokeni salvestab uss ka GitHub'i ja AWS, Azure, GCP (Google Cloud Platform) pilveteenuste ligipääsu võtmed ning muud konfidentsiaalsed andmed, mida TruffleHog'i skanner suudab avastada.
Pahatahtlikud väljaanded luuakse 20 kõige populaarsema paketi jaoks, millele leitud NPM token ligipääsu annab. Versiooni avaldamise funktsionaalsus on realiseeritud NpmModule.updatePackage funktsiooni kaudu, mis laadib alla paketi algarhiivi, muudab versiooni numbri, lisab postinstall-hook’i package.json faili, lisab käitaja bundle.js, pakendab paketi uuesti ja avaldab selle. Töö toetamine on võimalik Linuxis ja macOS-is.
Küüliku koodinimeks on Shai-Hulud (hiiglaslik küülik, mainitud romaanis Dune). Sistemas leitud mandaadid pannakse GitHubi, luues repo nimedega Shai-Hulud (näiteks "B611/Shai-Hulud"), samuti kodeerituna peegelduvad need GitHub Actions logides. Loodud reposis paikneb fail data.json, kus on rida base64 kodeeritud teavet süsteemi, keskkonnamuutujate ja röövitud juurdepääsuvõtmete kohta. GitHubi põhine CI loob neljanda osapoole juurdeviimise jaoks GitHub Actions töötleja (.github/workflows/shai-hulud-workflow.yml). Tundub, et rünnak ei piirdu eeltoodud 187 paketiga, kuna GitHubis ilmuvad pidevalt uued Shai-Hulud nimega repod ja fail data.json.

Muuhulgas on küüliku tegevuse tulemusena kannatada saanud 25 paketist ettevõttest CrowdStrike, mis arendab tööriistu rünnakute kaitsmiseks seks sõltuvuste kaudu (Supply Chain). CrowdStrike'i sõnul ei kasutatud kompromiteeritud pakette platvormis Falcon ja rünnak ei levinud klientidele. Samuti on teada, et eelmine pahavarade väljaandmise laine NPM-is, mis toimus ilma küülikuta, puudutas Google'i arendatavat projekti gemini-cli.
Allikas: opennet.ru
