Home Nieuws Hackers hebben een trojan in de codebibliotheek achter het grootste deel van...

Hackers hebben een trojan in de codebibliotheek achter het grootste deel van het internet gesmokkeld. Uw team is waarschijnlijk getroffen

5
0
Hackers hebben een trojan in de codebibliotheek achter het grootste deel van het internet gesmokkeld. Uw team is waarschijnlijk getroffen

Aanvallers stalen een langlevend npm-toegangstoken van de hoofdonderhouder van axioma’sde populairste HTTP-clientbibliotheek in JavaScript, en gebruikte deze om twee vergiftigde versies te publiceren die een platformonafhankelijke trojan voor externe toegang installeren. De kwaadaardige releases zijn gericht op macOS, Windows en Linux. Ze waren ongeveer drie uur live in het npm-register voordat ze werden verwijderd.

Axios krijgt meer dan 100 miljoen downloads per week. Wiz meldt het bevindt zich in ongeveer 80% van de cloud- en codeomgevingen en raakt alles, van React front-ends tot CI/CD-pijplijnen en serverloze functies. Jager gedetecteerd de eerste infecties 89 seconden nadat het kwaadaardige pakket live ging en bevestigde ten minste 135 gecompromitteerde systemen onder zijn klanten tijdens de blootstellingsperiode.

Dit is de derde grote npm compromis in de toeleveringsketen binnen zeven maanden. Iedereen maakte misbruik van de inloggegevens van de beheerder. Deze keer had het doelwit elke verdediging overgenomen die de veiligheidsgemeenschap had aanbevolen.

Eén credential, twee vestigingen, 39 minuten

De aanvaller nam de npm account van @jasonsaayman, een hoofdonderhouder van axios, veranderde het e-mailadres van het account in een anoniem ProtonMail-adres en publiceerde de vergiftigde pakketten via npm’s opdrachtregelinterface. Daarmee werd de GitHub Actions CI/CD-pijplijn van het project volledig omzeild.

De aanvaller heeft nooit de broncode van Axios aangeraakt. In plaats daarvan kregen beide release-takken één nieuwe afhankelijkheid: plain-crypto-js@4.2.1. Geen enkel deel van de codebase importeert het. Het pakket bestaat uitsluitend om een ​​postinstall-script uit te voeren dat een platformonafhankelijke RAT op de machine van de ontwikkelaar plaatst.

De enscenering was nauwkeurig. Achttien uur voordat de axios werd uitgebracht, publiceerde de aanvaller een schone versie van plain-crypto-js onder een aparte npm account om publicatiegeschiedenis op te bouwen en scannerwaarschuwingen voor nieuwe pakketten te ontwijken. Toen kwam de bewapende 4.2.1. Beide releasetakken waren binnen 39 minuten raak. Er waren vooraf drie platformspecifieke payloads gebouwd. De malware wist zichzelf na uitvoering en wisselt in een schoon package.json om forensische inspectie te frustreren.

StapBeveiligingdie het compromis ernaast identificeerde Stopcontactnoemde het een van de meest operationeel geavanceerde supply chain-aanvallen ooit gedocumenteerd in de top-10 npm pakket.

De verdediging die op papier bestond

Axios deed de juiste dingen. Legitieme 1.x-releases verzonden via GitHub Actions met behulp van npm’s OIDC Trusted Publisher-mechanisme, dat elke publicatie cryptografisch koppelt aan een geverifieerde CI/CD-workflow. Het project droeg SLSA-herkomstattesten. Volgens alle moderne maatstaven zag de beveiligingsstack er solide uit.

Het deed er allemaal niet toe. Huntress verdiepte zich in de publicatieworkflow en vond het gat. Het project is toch geslaagd NPM_TOKEN als een omgevingsvariabele naast de OIDC-inloggegevens. Wanneer beide aanwezig zijn, npm standaard ingesteld op het token. Het klassieke token met lange levensduur was de echte authenticatiemethode voor elke publicatie, ongeacht hoe OIDC was geconfigureerd. De aanvaller hoefde OIDC nooit te verslaan. Ze liepen er omheen. Een verouderd token zat daar als een parallel auth-pad, en npm’s eigen hiërarchie gaf er stilletjes de voorkeur aan.

“Uit mijn ervaring bij AWS blijkt dat het heel gebruikelijk is dat oude auth-mechanismen blijven hangen”, zegt Merritt Baer, ​​CSO bij Enkrypt AI en voormalig plaatsvervangend CISO bij AWS, in een exclusief interview met VentureBeat. “Moderne controles worden geïmplementeerd, maar als oudere tokens of sleutels niet worden teruggetrokken, geeft het systeem daar stilletjes de voorkeur aan. Net zoals we zagen bij SolarWinds, waar oudere scripts nieuwere monitoring omzeilden.”

De onderhouder geplaatst op GitHub nadat ik het compromis had ontdekt: “Ik probeer steun te krijgen om te begrijpen hoe dit überhaupt is gebeurd. Ik heb 2FA / MFA voor vrijwel alles waarmee ik communiceer.”

Endor Labs gedocumenteerd het forensische verschil. Legitiem axios@1.14.0 toonde OIDC-herkomst, een vertrouwd uitgeversrecord en een gitHead die naar een specifieke commit linkte. Kwaadwillend axios@1.14.1 had er geen. Elk hulpmiddel dat de herkomst controleerde, zou het gat onmiddellijk hebben opgemerkt. Maar herkomstverificatie is opt-in. Geen enkele registerpoort heeft het pakket afgewezen.

Drie aanvallen, zeven maanden, dezelfde oorzaak

Drie npm supply chain-compromissen binnen zeven maanden. Iedereen begon met een gestolen beheerdersreferentie.

De Shai-Hulud-worm werd in september 2025 getroffen. Eén enkel phishing-onderhoudsaccount gaf aanvallers voet aan de grond en repliceerde zichzelf over de hele wereld. ruim 500 pakkettenoogsten npm tokens, cloudreferenties en GitHub-geheimen terwijl deze zich verspreidden. CISA heeft een advies uitgebracht. GitHub gereviseerd npm’s volledige authenticatiemodel als reactie.

Vervolgens in januari 2026 Koi Security’s PackageGate-onderzoek zes zero-day-kwetsbaarheden in npm gedaald, pnpm, vlten Bun die de verdedigingsmechanismen doorbraken die het ecosysteem na Shai-Hulud had aangenomen. Lockfile-integriteit en scriptblokkering mislukten beide onder specifieke omstandigheden. Drie van de vier pakketbeheerders hadden binnen enkele weken een patch. npm sloot het rapport.

Nu axioma’s. Een gestolen token met een lange levensduur publiceerde een RAT via beide vrijgavetakken, ondanks OIDC, SLSA en elke post-Shai-Hulud-verhardingsmaatregel.

npm heeft na Shai-Hulud echte hervormingen doorgevoerd. Het maken van nieuwe klassieke tokens werd verouderd, hoewel reeds bestaande tokens bleven bestaan ​​tot een harde intrekkingsdeadline. FIDO 2FA werd verplicht, granulaire toegangstokens werden beperkt tot zeven dagen voor publicatie, en vertrouwd publiceren via OIDC gaf projecten een cryptografisch alternatief voor opgeslagen inloggegevens. Alles bij elkaar hebben deze veranderingen alles stroomafwaarts van het beheerdersaccount verhard. Wat ze niet veranderden, was het account zelf. De referentie bleef het enige punt van mislukking.

“Het compromis van geloofsbrieven is het terugkerende thema npm inbreuken,” zei Baer. “Dit is niet alleen een zwak wachtwoordprobleem. Het is structureel. Zonder kortstondige inloggegevens, afgedwongen MFA of geïsoleerde bouw- en ondertekeningsomgevingen blijft toegang voor beheerders de zwakke schakel.”

Wat npm heeft verzonden versus waar deze aanval voorbij liep

Wat SOC-leiders nodig hebben

npm verdediging verzonden

versus axios-aanval

De kloof

Blokkeer gestolen tokens voor publicatie

FIDO 2FA vereist. Gedetailleerde tokens, vervaldatum van 7 dagen. Klassieke tokens zijn verouderd

Omzeild. Legacy-token bestond naast OIDC. npm gaf de voorkeur aan het teken

Geen handhaving verwijdert verouderde tokens wanneer OIDC is geconfigureerd

Controleer de herkomst van het pakket

OIDC Trusted Publishing via GitHub-acties. SLSA-attesten

Omzeild. Schadelijke versies hadden geen herkomst. Gepubliceerd via CLI

Geen enkele poort weigert pakketten waarvan de herkomst ontbreekt van projecten die deze eerder hadden

Vang malware op voordat u deze installeert

Socket, Snyk, Aikido geautomatiseerd scannen

Gedeeltelijk. Socket gemarkeerd in 6 minuten. De eerste infecties bereikten 89 seconden

Gat tussen detectie en verwijdering. Scanners vangen het op, het verwijderen van het register duurt uren

Uitvoering na installatie blokkeren

–ignore-scripts aanbevolen in CI/CD

Niet afgedwongen. npm wordt standaard na de installatie uitgevoerd. pnpm blokkeert standaard; npm niet

postinstall blijft de belangrijkste malwarevector in elke major npm aanval sinds 2024

Afhankelijkheidsversies vergrendelen

Handhaving van vergrendelingsbestanden via npm ci

Alleen effectief als lockfile wordt vastgelegd voordat er sprake is van een compromis. Caret-bereiken worden automatisch opgelost

Caret-bereiken zijn npm standaard. De meeste projecten worden automatisch omgezet naar de laatste minor

Wat u nu moet doen bij uw onderneming

SOC-leiders wiens organisaties Node.js beheren, moeten dit als een actief incident behandelen totdat ze schone systemen bevestigen. De blootstellingsperiode van drie uur viel tijdens de piekuren in de tijdzones van Azië en de Stille Oceaan, en elke CI/CD-pijplijn die ’s nachts een NPM-installatie draaide, had de gecompromitteerde versie automatisch kunnen ophalen.

“De eerste prioriteit is effectbeoordeling: welke builds en downstream-consumenten hebben het gecompromitteerde pakket ingenomen?” zei Baer. “Vervolgens inperking, patching en ten slotte transparante rapportage aan het leiderschap. Wat er is gebeurd, wat aan het licht is gekomen en welke controles een herhaling kunnen voorkomen. Lessen uit log4j en event-stream laten zien dat snelheid en duidelijkheid net zo belangrijk zijn als de oplossing zelf.”

  • Controleer de blootstelling. Zoek naar lockfiles en CI-logboeken axios@1.14.1, axios@0.30.4of plain-crypto-js. Vastmaken aan axios@1.14.0 of axios@0.30.3.

  • Ga uit van een compromis als je geraakt wordt. Herstel de getroffen machines vanuit een bekende goede staat. Roteer alle toegankelijke inloggegevens: npm-tokens, AWS-sleutels, SSH-sleutels, cloudinloggegevens, CI/CD-geheimen, .env-waarden.

  • Blokkeer de C2. Toevoegen sfrclak.com en 142.11.206.73 naar DNS-blokkeerlijsten en firewallregels.

  • Controleer op RAT-artefacten. /Library/Caches/com.apple.act.mond op macOS. %PROGRAMDATA%wt.exe op Windows. /tmp/ld.py on Linux. Indien gevonden, voer dan een volledige herbouw uit.

  • Harden gaat vooruit. Afdwingen npm ci --ignore-scripts in CI/CD. Vereist alleen-lockfile-installaties. Weiger pakketten waarvan de herkomst ontbreekt van projecten die deze eerder hadden. Controleer of verouderde tokens naast OIDC bestaan ​​in uw eigen publicatieworkflows.

Het diplomagat dat niemand heeft gedicht

Drie aanvallen in zeven maanden. Ieder verschillend in uitvoering, identiek in grondoorzaak. npmHet beveiligingsmodel van Google beschouwt individuele beheerdersaccounts nog steeds als het ultieme vertrouwensanker. Deze accounts blijven kwetsbaar voor het kapen van inloggegevens, ongeacht hoeveel lagen er stroomafwaarts worden toegevoegd.

“AI signaleert risicovolle pakketten, controleert de oude authenticatie en versnelt de SOC-reactie”, aldus Baer. “Maar mensen hebben nog steeds de controle over de inloggegevens van de beheerders. We beperken de risico’s. We elimineren deze niet.”

Verplichte herkomstattestering, waarbij handmatige CLI-publicatie volledig is uitgeschakeld, zou deze aanval hebben opgevangen voordat deze het register bereikte. Dat geldt ook voor verplichte ondertekening door meerdere partijen, waarbij geen enkele onderhouder alleen een release kan doorvoeren. Geen van beide wordt vandaag afgedwongen. npm heeft aangegeven dat het standaard uitschakelen van tokens wanneer vertrouwd publiceren is ingeschakeld op de routekaart staat. Totdat het wordt verzonden, heeft elk project dat OIDC naast een oud token uitvoert, dezelfde blinde vlek-axioma’s.

De axios-onderhouder deed wat de gemeenschap vroeg. Een erfenistoken waarvan niemand zich realiseerde dat het nog steeds actief was en alles ondermijnde.

Nieuwsbron

LAAT EEN REACTIE ACHTER

Vul alstublieft uw commentaar in!
Vul hier uw naam in