En ny npm-orm har inficeret mindst 444 softwarepakker og mere end 2.000 pakkeversioner, hvilket sætter applikationer med samlet over to milliarder månedlige installationer i fare.
Malwaren spreder sig gennem stjålne udvikleroplysninger og inficerer automatisk flere pakker. Sikkerhedsforskere advarer om, at berørte organisationer bør antage, at deres systemer og hemmeligheder kan være blevet kompromitteret.
Cloudsikkerhedsvirksomheden Wiz oplyser, at angrebet spredte sig til en stor del af open source-økosystemet på mindre end 24 timer. Hændelsen begyndte, efter at angribere kompromitterede GitHub-kontoen til udvikleren Jared Wray den 4. august.
Wray vedligeholder keyv og cacheable, to udbredte open source-projekter til JavaScript-baseret datahåndtering og caching.
Kompromitteret udviklerkonto starter massiv npm-orm
Den første kendte ondsindede udgivelse var keyv version 6.0.0. Alene denne pakke modtager omkring 604 millioner månedlige downloads.
Angriberne fulgte hurtigt op med inficerede udgivelser af andre populære pakker, herunder cacheable, flat-cache og file-entry-cache. Flat-cache og file-entry-cache modtager henholdsvis omkring 565 millioner og 557 millioner månedlige downloads.
Når de ondsindede pakker installeres eller opdateres, kan de kompromittere en udviklers system fuldstændigt. Malwaren stjæler legitimationsoplysninger fra .env-filer, npm- og GitHub-tokens, AWS- og Kubernetes-hemmeligheder, SSH-nøgler, VPN-konfigurationer og mere end 200 andre typer legitimationsoplysninger.
Ormen bruger derefter stjålne publiceringstokens til at inficere pakker, der ejes af andre kompromitterede udviklere.
Aikido oplyser, at virksomheden har observeret aktiv spredning i fællesskabet, som påvirker flere udviklere, pakker og store organisationer.
Malware bruger preinstall-hook til at sprede sig
StepSecurity oplyser, at alle inficerede versioner anvender den samme infektionsmetode. En preinstall-dropper downloader det legitime JavaScript-runtimemiljø Bun og starter derefter en obfuskeret anden fase-payload på 710 KB.
Payloaden stjæler legitimationsoplysninger, udgiver flere ondsindede pakker og ændrer AI-udviklingsværktøjer.
Forskerne identificerede malwaren som en videreudviklet efterkommer af Shai-Hulud 2.0, en af flere npm-orme, der har angrebet økosystemet i år. Den ondsindede kode indeholder angiveligt markører fra tidligere Shai-Hulud-kampagner og opretter offentlige GitHub-repositoriebeskrivelser med teksten: “Shai-Hulud: Here We Go Again.”
Microsoft oplyser, at malwaren kan identificere pakker, der er tilgængelige for en kompromitteret npm-konto, downloade deres nyeste tarball-filer, injicere ondsindet kode og en setup-loader, tilføje en preinstall-hook, øge patchversionsnummeret og genudgive den ændrede pakke.
Nye funktioner retter sig mod AI-værktøjer og kryptowallets
Den nyeste npm-orm skaber også vedvarende adgang ved at ændre konfigurationsfiler til Claude og Visual Studio Code i inficerede repositories.
Den henter kommando- og kontroldomæner fra Ethereum-blockchainen, hvilket kan gøre det muligt for operatørerne at ændre infrastrukturen uden at opdatere selve malwaren. Forskerne fandt også, at den går efter 70 procent flere kilder til legitimationsoplysninger end tidligere varianter.
Nye mål omfatter Claude, OpenAI, Codex, Cursor, Gemini samt kryptowallets knyttet til Foundry, Solana og Monero.
Wiz oplyser, at malwaren også indeholder en opdateret såkaldt “dead man’s switch”, som kan aktiveres selektivt baseret på et svar fra dens kommando- og kontrolserver.
Sikkerhedsvirksomheder anbefaler, at berørte udviklere og organisationer straks udskifter alle legitimationsoplysninger, gennemgår repositories og udgivne pakker for tegn på kompromittering, renser inficerede systemer og indfører stærkere beskyttelse mod angreb på softwareforsyningskæden.
Det fulde omfang af hændelsen er stadig uklart. Fordi ormen spreder sig gennem udvikleres legitimationsoplysninger, advarer forskerne om, at tusindvis af konti allerede kan være kompromitteret.


0 svar til “npm-orm inficerer 444 pakker med 2 milliarder månedlige downloads”