S1ngularity-läcka: GitHub och NPM påverkade 🚨
Nyligen genomförda utredningar av leveranskedjeattacken kallad "s1ngularity" mot Nx avslöjar en massiv läcka av inloggningsuppgifter: tusentals kontotokens och databashemligheter exponerades, med konsekvenser över flera faser av incidenten. En rapport efter incidenten från Wiz dokumenterar omfattningen och ger insikt i hur exfiltreringen utvecklades och dess inverkan. 🚨📊
Enligt bedömningen som publicerats av Wiz-forskare resulterade intrånget i att 2 180 konton och 7 200 arkiv exponerades i tre distinkta faser, med många hemligheter fortfarande giltiga och risk för fortsatt skadaWhite paper ger detaljer om tidslinjen, angriparens tekniker och de läckta hemligheternas natur. 🔍📈
Nx Supply Chain Attack ⚠️🚀
Nx är ett system med öppen källkod för att bygga och hantera ett enda arkiv som används flitigt i JavaScript/TypeScript-ekosystem i företagsskala. Med miljontals nedladdningar varje vecka i NPM-registret har ett komprometterat paket en långtgående inverkan på många integrationer och utvecklingsprocesser. ⚙️
Kompromittvektor och incidentdatum 📅
Den 26 augusti 2025 utnyttjade angriparen ett sårbart GitHub Actions-arbetsflöde i Nx-arkivet för att publicera en skadlig version av paketet till NPM. Paketet innehöll ett skadligt efterinstallationsskript med namnet "telemetry.js" som fungerade som skadlig kod för att extrahera autentiseringsuppgifter på berörda system. 🔥
Hur telemetry.js-skadlig programvara fungerar 🕵️♂️
Skadlig programvaran telemetry.js agerade som en autentiseringsstöld på Linux och macOS och försökte stjäla GitHub-tokens, npm-tokens, SSH-nycklar, .env-filer, kryptovalutaplånböcker och andra hemligheter, och sedan ladda upp dem till offentliga GitHub-arkiv med namnet "s1ngularity-repository". Detta mönster gjorde det möjligt för angriparen att centralisera och exponera den stulna informationen. 🔐

Källa: Wiz
Angriparen integrerade även kommandoradsverktyg för AI-plattformar (t.ex. Claude, Q och Gemini) för att automatisera sökning och insamling med hjälp av riktade prompter. Wiz dokumenterar hur prompten utvecklades under attacken, optimerade extrahering och kringgick modellavvisanden för vissa instruktioner, vilket återspeglar aktörens aktiva anpassning till LLM-tekniker. ✨💡
Påverkansområde: skadaradie och faser 📈🔥
Händelsen utvecklades i tre faser. I den första, mellan 26 och 27 augusti, drabbade komprometterade versioner av Nx direkt 1 700 användare och läckte mer än 2 000 unika hemligheter, förutom att exponera cirka 20 000 filer från infekterade system. GitHub ingrep, men mycket av informationen hade redan duplicerats.
- 🔹 Fas 1 (26–27 augusti): 1 700 användare drabbade, ~2 000 läckta hemligheter, 20 000 komprometterade filer.
- 🔸 Fas 2 (28–29 augusti): Användning av läckta tokens för att konvertera privata arkiv till offentliga; 480 ytterligare konton komprometterades och 6 700 arkiv exponerades.
- 🔹 Fas 3 (från och med 31 augusti): attack riktad mot en offerorganisation med hjälp av konton komprometterade för publicering 500 fler privata arkiv.
Under den andra fasen använde angriparna stulna GitHub-tokens för att göra privata arkiv offentliga och byta namn på dem med strängen 's1ngularity', vilket förstärkte exponeringen. I den tredje fasen utnyttjades ett specifikt mål för att publicera hundratals ytterligare privata arkiv, vilket demonstrerade angriparens ihärdighet och eskalering. 🎯

Källa: Wiz
Nx-projektets respons och begränsning 🔧✅
Nx-teamet publicerade en rotorsaksanalys på GitHub som förklarar hur en injektion i titeln på en pull request i kombination med osäker användning av pull_request_target tillät godtycklig kod att köras med förhöjda behörigheter, vilket utlöste publiceringspipelinen och underlättade exfiltreringen av npm-publiceringstoken. 🛠️
De implementerade åtgärderna inkluderade att ta bort skadliga paket, återkalla och rotera komprometterade tokens och kräva tvåfaktorsautentisering för alla utgivarkonton. Dessutom antog Nx NPM:s Trusted Publisher-modell och lade till manuellt godkännande för PR-utlösta arbetsflöden. 🔐📌
Snabba tips och viktiga punkter ✏️
- ✅ Granska och rotera tokens och hemligheter omedelbart om misstanke om kompromettering uppstår.
- 📌 Undvik osäker användning av pull_request_target och tillämpa manuella godkännanden på känsliga flöden.
- 🔧 Implementera flerfaktorsautentisering och betrodda publiceringsmodeller som Trusted Publisher.
- ⚡ Övervaka offentliga databaser och utför automatiserade hemliga sökningar för tidig upptäckt.
Definiera utdrag och vanliga frågor ✨
Vad är telemetry.js?
telemetry.js är namnet på det skadliga postinstallationsskriptet som ingår i den komprometterade versionen av Nx-paketet; det fungerade som en autentiseringsstöld på Linux- och macOS-system för att samla in och stjäla hemligheter till offentliga arkiv som kontrolleras av angriparen. 🔍
Hur många konton och arkiv påverkades?
Enligt Wiz rapport exponerade attacken 2 180 konton och 7 200 arkiv under incidentens tre dokumenterade faser, med många hemligheter fortfarande giltiga och risk för fortsatt påverkan. 📊
461 TP3T-miljöer hade komprometterade lösenord, nästan dubbelt så många som 251 TP3T året innan. Skaffa Picus Blue Report 2025 för en fullständig analys av förebyggande, upptäckt och trender inom dataexfiltrering. 📈
Rapporten innehåller mätvärden, rekommendationer och fallstudier för att stärka försvaret och förbättra hanteringen av hemliga läckor.