De beheerders van het NX-buildsysteem hebben gebruikers gewaarschuwd voor een supply chain-aanval waarmee aanvallers kwaadaardige versies van het populaire NPM-pakket en andere hulpplug-ins met gegevensverzamelingsmogelijkheden konden publiceren.
“Malicious -versies van het NX -pakket, evenals enkele ondersteunende plug -inpakketten, werden gepubliceerd naar NPM, met code die het bestandssysteem scant, inloggegevens verzamelt en ze op GitHub plaatst als een repo onder de accounts van de gebruiker,” zeiden de onderhouders in een advies gepubliceerd woensdag.
NX is een open-source, technologie-agnostisch buildplatform dat is ontworpen om codebases te beheren. Het wordt geadverteerd als een “AI-eerste build-platform dat alles verbindt van uw redacteur tot CI (continue integratie).” Het NPM -pakket heeft meer dan 3,5 miljoen wekelijkse downloads.
De lijst met getroffen pakketten en versies is hieronder. Deze versies zijn sindsdien verwijderd uit het NPM -register. Het compromis van het NX -pakket vond plaats op 26 augustus 2025.
- NX 21.5.0, 20.9.0, 20.10.0, 21.6.0, 20.11.0, 21.7.0, 21.8.0, 20.12.0
- @nx/devkit 21.5.0, 20.9.0
- @NX/Enterprise-Cloud 3.2.0
- @nx/eslint 21.5.0
- @NX/JS 21.5.0, 20.9.0
- @NX/Key 3.2.0
- @NX/Node 21.5.0, 20.9.0
- @nx/werkruimte 21.5.0, 20.9.0
De projectbeheerders zeiden dat de hoofdoorzaak van het probleem voortkwam uit een kwetsbare workflow die de mogelijkheid introduceerde om uitvoerbare code te injecteren met behulp van een speciaal vervaardigde titel in een pull -aanvraag (PR).
“De trigger Pull_Request_Target werd gebruikt als een manier om de actie te activeren om te draaien wanneer een PR werd gemaakt of gewijzigd,” zei het NX -team. “Wat echter werd gemist, is de waarschuwing dat deze trigger, in tegenstelling tot de standaard Pull_Request -trigger, workflows uitvoert met verhoogde machtigingen, waaronder een GitHub_Token die toestemming van de repository heeft gelezen/schrijven.”
Er wordt aangenomen dat de GitHub_Token werd gebruikt om de workflow “Publish.yml” te activeren, die verantwoordelijk is voor het publiceren van de NX -pakketten naar het register met behulp van een NPM -token.
Maar met de PR-validatieworkflow met verhoogde privileges, wordt de “Publish.yml Workflow” geactiveerd om op de “NRWL/NX” -repository te worden uitgevoerd, terwijl hij ook kwaadaardige veranderingen introduceerde die het mogelijk maakten om het NPM-token te exfiltreren naar een aanvaller-gecontroleerd webhook (.) Site (.) Site (.) Site (.) Site (.) Site (.) Site (.) Site (.) Site (.) Site (.) Site (.) Site (.) Site (.) Site (.) Site (.) Site (.) Site (.) Site (.) Site (.) Site (.) Site (.) Site (.) Site (.) Sitepunt.
“Als onderdeel van de bash -injectie leidden de PR -validatieworkflows een reeks van de publish.yml met deze kwaadaardige commit en stuurde ons NPM -token naar een onbekende webhook,” legde het NX -team uit. “Wij geloven dat dit is hoe de gebruiker het NPM -token heeft gekregen dat werd gebruikt om de kwaadaardige versies van NX te publiceren.”

Met andere woorden, de injectiepout heeft willekeurige opdrachtuitvoering ingeschakeld als een kwaadwillende PR -titel is ingediend, terwijl de Pull_Request_Target -trigger verhoogde machtigingen verleende door een GitHub_Token te bieden met lees-/schrijftoegang tot de repository.
De malafide versies van de pakketten zijn gebleken dat ze een postinstall-script bevatten dat is geactiveerd na pakketinstallatie om een systeem te scannen voor tekstbestanden, inloggegevens te verzamelen en de details te verzenden als een base64-gecodeerde string naar een openbaar toegankelijke github-repository bevat de naam “S1ngularity-repository” (of “s1ngulary-repository-0” S1Ngulity-Repository-Repository-0 “S1Ngulity-Repository-Repository-0 Gebruikersaccount.
“Het kwaadaardige postinstall -script heeft ook de .zshrc- en .bashrc -bestanden gewijzigd die worden uitgevoerd wanneer een terminal wordt gestart om sudo -afsluiting -h 0 op te nemen die gebruikers vragen om hun systeemwachtwoord en indien aangeboden, de machine onmiddellijk afsluiten,” voegde de onderhoudsers toe.
Hoewel GitHub sindsdien is begonnen met het archiveren van deze repositories, wordt gebruikers die de repositories tegenkomen, geadviseerd om een compromis aan te nemen en GitHub- en NPM -referenties en tokens te roteren. Gebruikers worden ook aanbevolen om te stoppen met het gebruik van de kwaadaardige pakketten en .zshrc- en .bashrc -bestanden te controleren op onbekende instructies en ze te verwijderen.

Het NX-team zei dat ze ook corrigerende acties hebben ondernomen door hun NPM- en GitHub-tokens te roteren, GitHub- en NPM-activiteiten in de hele organisatie te controleren voor verdachte activiteiten en het bijwerken van de toegang tot NX voor NX om twee-factor authenticatie (2FA) of automatisering te vereisen.
Wiz -onderzoekers Merav Bar en Rami McCarthy zeiden dat 90% van meer dan 1.000 gelekte GitHub -tokens nog steeds geldig zijn, evenals tientallen geldige cloud -referenties en NPM -tokens. Er wordt gezegd dat de malware werd uitgevoerd op ontwikkelaarsmachines, vaak via de NX Visual Studio Code Extension. Maar liefst 1.346 repositories met de string “S1ngularity-Repository” zijn gedetecteerd door Gitguardian.
Onder de 2.349 verschillende geheimen lekte de overgrote meerderheid van hen goed voor Github OAuth -toetsen en persoonlijke toegangstokens (PATS), gevolgd door API -toetsen en inloggegevens voor Google AI, OpenAI, Amazon Web Services, OpenRouter, Anthropic Claude, Postgresql en DataG.
Uit het cloudbeveiligingsbedrijf bleek dat de payload alleen kan worden uitgevoerd op Linux- en MacOS -systemen, systematisch op zoek naar gevoelige bestanden en het extraheren van referenties, SSH -toetsen en .gitconfig -bestanden.
“Met name heeft de campagne bewapend AI CLI-tools geïnstalleerd door hen te vragen met gevaarlijke vlaggen (-Directory-Skip-Permissions,–Yolo,-Trust-All-Tools) om de inhoud van het bestandssysteem te stelen, vertrouwde tools te exploiteren voor kwaadaardige verkenning,” zei het bedrijf.
Stiefsecurity zei dat het incident de eerste bekende zaak markeert waarin aanvallers AI -assistenten van ontwikkelaar zoals Claude, Google Gemini en Amazon Q hebben veranderd in tools voor supply chain -exploitatie en traditionele beveiligingsgrenzen omzeilen.
“Er zijn een paar verschillen tussen de malware in de scoped NX -pakketten (dwz @nx/devkit, @nx/eslint) versus de malware in het NX -pakket,” zei Socket. “Ten eerste is de AI-prompt anders. In deze pakketten is de AI-prompt een beetje eenvoudiger. Deze LLM-prompt is ook veel minder breed in reikwijdte, gericht op crypto-wallet-toetsen en geheime patronen en specifieke mappen, terwijl die in @NX een interessant tekstbestand pakt.”
Charlie Eriksen van Aikido zei dat het gebruik van LLM -klanten als een vector voor het opsommen van geheimen op de slachtoffermachine een nieuwe aanpak is en geeft verdedigers inzicht in de richting die de aanvallers in de toekomst kunnen gaan.
“Gezien de populariteit van het NX -ecosysteem en de nieuwigheid van AI -toolmisbruik, benadrukt dit incident de zich ontwikkelende verfijning van aanvallen van supply chain,” zei Ashish Kurmi van Stepsecurity. “Onmiddellijke sanering is van cruciaal belang voor iedereen die de gecompromitteerde versies heeft geïnstalleerd.”