Sulmi ndaj paketeve në repositorin NPM ka kaluar në një nivel të ri. Përveç përdorimit të malware për të kapur pagesat dhe informacionin e ndjeshëm, sulmuesit kanë kaluar në inkorporimin e një virusi në paketa të kompromentuara për të automatizuar vendosjen e malware në varësitë. Përdorimi i virusit është regjistruar pas kompromentimit të paketës NPM @ctrl/tinycolor, e cila ka 2.2 milion shkarkime javore dhe është përdorur si një varësi direkte në 964 paketa. Si rezultat i aktivitetit të virusit, sulmi preku 187 paketa, për të cilat u formuan lëshime të dëmshme (477 lëshime të dëmshme).
Gjatë një sulmi të ri pas marrjes së parametrave të llogarisë së mbështetësit përmes phishing-it, sulmuesit publikojnë një lëshim të paketës me virusin, i cili aktivizohet kur instaloni paketën e kompromentuar në varësi. Pas aktivizimit, virusi kërkon kredencialet në mjedisin aktual, duke shkarkuar dhe ekzekutuar utilitarin TruffleHog. Në rast se gjen një token lidhjeje me katalogun NPM, virusi automatikisht publikojnë një lëshim të ri të dëmshëm dhe dëmton zinxhirin e varësive. Përveç tokenit të aksesit në NPM, virusi ruan çelësat e aksesit për GitHub dhe shërbime të ndryshme në re si AWS, Azure dhe GCP (Google Cloud Platform), si dhe të dhëna të tjera të ndjeshme që skaneri TruffleHog mund të zbulojë.
Lëshimet e dëmshme formohen për 20 paketat më të popullarizuara, për të cilat ka akses tokeni NPM i gjetur. Funksionaliteti i publikimit të lëshimeve është i realizuar në formën e funksionit NpmModule.updatePackage, i cili ngarkon arkivën burimore të paketës, ndryshon numrin e versionit dhe shton një postinstall-hook në skedarin package.json, vendos një menaxher në bundle.js, ripaketon paketën dhe e publikon atë. Përdoret në Linux dhe macOS.
Wormi i është caktuar emri kod Shai-Hulud (ndërmarrja e madhe e përmendur në romanin Duna). Kredencialet e gjetura në sistem publikohen në GitHub përmes krijimit të repozitoreve me emrin Shai-Hulud (p.sh., "B611/Shai-Hulud"), si dhe reflektohen në formë të koduar në loget e GitHub Actions. Në repozitorin e krijuar, vendoset një skedar data.json, i cili përmban një varg me informacion të koduar me metodën base64 në lidhje me sistemin, variablat e ambientit dhe çelësat e qasjes të kapura. Në CI të bazuar në GitHub, për të transferuar informacionin në një host të jashtëm, wormi krijon një trajtues GitHub Actions (.github/workflows/shai-hulud-workflow.yml). Sipas të gjithave, sulmi nuk është i kufizuar vetëm në 187 paketat e përmendura, pasi në GitHub vazhdojnë të shfaqen repozitore të reja me emrin Shai-Hulud dhe skedarin data.json.

Ndër të tjera, si rezultat i aktivitetit të wormit, janë prekur 25 paketa të kompanisë CrowdStrike, e cila zhvillon mjete për mbrojtjen nga sulmet nëpërmjet varësive (Supply Chain). Sipas deklaratës së CrowdStrike, paketat e kompromentuara nuk janë përdorur në platformën Falcon dhe sulmi nuk ka shpërthyer te klientët. Gjithashtu, është bërë e ditur se vala e kaluar e publikimit të lëshimeve të dëmshme në NPM, e kryer pa wormin, ka prekur projektin gemini-cli, i zhvilluar nga kompania Google.
Burimi: opennet.ru
