Axios angreb på NPM injicerer RAT og kompromitterer tusindvis af udviklere

Axios

Axios - reprodução x

Det populære Axios-bibliotek, der bruges i adskillige JavaScript-projekter til at udføre HTTP-anmodninger, registrerede et forsyningskædeangreb, der kompromitterede to specifikke versioner offentliggjort i NPM-registret. Investigadores fra StepSecurity identificerede version 1.14.1 og 0.30.4 som ondsindet, offentliggjort i de tidlige timer den 31. marts 2026. Pakkerne injicerede en falsk afhængighed, der kører et installationsscript, der er i stand til at installere en fjernadgangstrojan på udviklermaskiner.

Hændelsen afslørede det enorme udviklingsøkosystem, der afhænger af biblioteket, et af de mest downloadede på platformen med mere end 100 millioner ugentlige downloads. Angriberne ændrede ikke kernekoden for Axios, men tilføjede en skjult afhængighed kaldet plain-crypto-js@4.2.1. Essa-afhængighed aktiveres automatisk, når man kører npm-installation, installerer specifikke nyttelaster for Windows, macOS og Linux.

Hvordan vedligeholdelseskontoen blev kompromitteret

De ansvarlige for angrebet fik adgang til NPM-kontoen for projektets hovedvedligeholder, identificeret som jasonsaayman. Eles ændrede den tilknyttede e-mailadresse tilifstap@proton.meog manuelt udgivet de kompromitterede versioner, uden om depotets automatiserede kontinuerlige integrationsflow på GitHub. Den første ondsindede version, axios@1.14.1, blev udgivet omkring 00:21 UTC, efterfulgt af axios@0.30.4 cirka 39 minutter senere.

Denne tilgang gjorde det muligt at gøre pakker tilgængelige uden at udløse signaturtjek eller sædvanlige CI/CD-processer. Axios-vedligeholdere reagerede hurtigt efter opdagelsen, og NPM fjernede begge versioner inden for timer, hvilket begrænsede eksponeringstiden til omkring to til tre timer.

https://twitter.com/TheHackersNews/status/2038862039482093999?ref_src=twsrc%5Etfw

Tekniske detaljer om den injicerede malware

Den falske afhængighed plain-crypto-js@4.2.1 blev ikke importeret på noget tidspunkt i den originale Axios-kode, og tjener udelukkende til at udføre et postinstall-script. Scriptet fungerede som en fjernadgang trojansk dropper, der etablerede kontakt med en kommando- og kontrolserver for at downloade yderligere nyttelaster skræddersyet til hvert operativsystem.

Tilsløringsteknikker blev brugt til at gøre øjeblikkelig analyse vanskelig, med kommandoer afkodet under kørsel. Após vellykket installation fjernede malwaren sine egne spor og erstattede filen package.json med en ren version for at undgå opdagelse i senere inspektioner af mappen node_modules.

  • Kontrollerer for berørte versioner med npm list axios kommandofiltrering 1.14.1 eller 0.30.4
  • Kontrol af tilstedeværelsen af ​​mappen node_modules/plain-crypto-js som en indikator for kompromittering
  • Søg efter artefakter såsom midlertidige filer i /tmp/ld.py eller tilsvarende på andre systemer

Anbefalede afværgeforanstaltninger for udviklere

Udviklere, der har installeret version 1.14.1 eller 0.30.4, bør betragte miljøet som kompromitteret og træffe øjeblikkelige handlinger. Hovedanbefalingen er at vende tilbage til de tidligere sikre versioner: axios@1.14.0 i den seneste gren eller axios@0.30.3 i den ældre version.

Det er vigtigt at fjerne den falske afhængighed, udføre en ren installation med flaget –ignore-scripts og rotere alle følsomme legitimationsoplysninger, inklusive NPM-tokens, SSH-nøgler, cloud-tjenesteadgange og miljøvariabler. I kontinuerlige integrationspipelines hjælper permanent overtagelse af parameteren, der ignorerer post-installation scripts, med at forhindre uønskede automatiske eksekveringer.

Indvirkning på JavaScript-udviklingsøkosystemet

Axios er blandt de mest brugte biblioteker i Node.js-økosystemet og i front-end-applikationer, og er en direkte eller indirekte afhængighed af adskillige virksomheds- og open source-projekter. Angrebet fremhæver den iboende sårbarhed af individuelle vedligeholderkonti i meget populære pakker, selv når kernekoden forbliver intakt.

Sikkerhedseksperter bemærker, at den anvendte metode demonstrerer operationel sofistikering med forudgående forberedelse af den falske afhængighed i en ren version, før den ondsindede nyttelast injiceres. Essa strategi komplicerede indledende automatiske detektioner og øgede risikoen i den korte periode, hvor versionerne var tilgængelige.

Retningslinjer for kontrol og rengøring af berørte miljøer

Udviklingsteams skal revidere installationslogfiler og pakkehistorik for at identificere, om ondsindede versioner blev downloadet. Tilstedeværelsen af ​​mappen plain-crypto-js i node_modules tjener som en stærk indikator for, at dropperen blev udført, uanset senere filfjernelse.

Efter rensning anbefales det at scanne systemer fuldt ud med trusselsdetektionsværktøjer og overvåge netværksforbindelser til adresser forbundet med kontrolserveren. Øjeblikkelig opdatering af sikkerhedspolitikker i private arkiver hjælper også med at reducere lignende risici i andre pakker.

Forebyggelse af fremtidige angreb på pakkelogfiler

Hændelsen forstærker vigtigheden af ​​foranstaltninger såsom streng multifaktorgodkendelse på udgivelseskonti, løbende overvågning af ændringer af pakkemetadata og vedtagelse af mere robuste integritetstjek. Projetos open source-systemer med høj anvendelse kan overveje yderligere gennemgangsprocesser før nye udgivelser.

Individuelle udviklere og virksomheder bør prioritere at fastgøre kendte sikre versioner i projektkonfigurationsfiler og undgå automatisk installation af opdateringer uden forudgående validering. Essas-praksis hjælper med at begrænse angrebsoverfladen i softwareforsyningskæder.

Sikkerhedssamfundet fortsætter med at overvåge sagen for at kortlægge mulige ofre og forfine detektionsværktøjer. Até På nuværende tidspunkt er der ingen offentlige rapporter om storstilet udnyttelse, men den enstemmige anbefaling er at behandle enhver installation af de berørte versioner som et totalt kompromis af det involverede system.