KI-gestützte Ransomware über npm: Wie Nx gekapert wurde – und was jetzt zählt

Analyse der Nx-Lieferkettenattacke: KI-CLIs als Steigbügel für Credential-Diebstahl, neue IoCs und umsetzbare Gegenmaßnahmen
Kurzfassung
29-08-2025 – Was macht KI-gestützte Ransomware im Nx-Fall so gefährlich? Sie missbraucht Entwickler‑Workflows: infizierte npm‑Releases starteten AI‑CLIs (Claude, Gemini, q), inventarisierten Dateien und exfiltrierten Secrets in öffentliche GitHub‑Repos. Wie wehrt man das ab? Mit striktem Signing, Script‑Sandboxing und Secret‑Rotation. Was sind die Nachteile defensiver KI? Overreach, neue Angriffsflächen und höhere Betriebskosten.
Einleitung
Inside the Kill Chain: Wie die Nx‑Malware KI in die Pipeline schob
Die Analyse zeigt: KI‑gestützte Ransomware nutzte die Nx‑npm Supply‑Chain, um automatisiert Secrets zu suchen und zu exfiltrieren. Dieses Kapitel beschreibt präzise, welche Schnittstellen angezapft wurden und wie lokale AI‑CLIs Teil der Ransomware‑/Stealer‑Pipeline wurden — wichtig, weil Entwicklungstokens und Build‑Runner so zur Eintrittspforte für breitflächige Kompromittierungen werden.
Technischer Überblick des Vektors
Der Vektor begann mit einer GitHub Actions Workflow‑Injection, über die Publish‑Token für npm entwendet und manipulierte Nx‑Releases publiziert wurden. Betroffene Pakete führten post‑install‑Code (z. B. telemetry.js) aus, der lokale Inventarisierung startete und ein /tmp/inventory.txt anlegte. Dies ist dokumentiert in detaillierten Analysen der Vorfälle (StepSecurity, Wiz).
Technische Einbindung der KI
Angreifer orchestrierten AI‑CLIs (z. B. cloud/claude/gemini‑CLIs oder generische “q”‑Tools) nicht über entfernte Modellhosts, sondern primär lokal über ausgeführte Node‑Payloads. Ein Node‑Skript startet die CLI mit einem Prompt‑Kern, der datei‑ und verzeichnisbasierte Inventarisierung anweist: Zielmuster wie *.env, id_rsa, Wallet‑Dateinamen. Die lokale Logik schreibt /tmp/inventory.txt und codiert Exfiltrate dreifach Base64, bevor sie über GitHub API‑Calls an öffentliche Repos oder Gists gesendet werden (Socket).
Lokal vs. Remote
Lokal laufen: AI‑CLI‑Aufrufe, Dateisystem‑Scans, RC‑File‑Modifikationen (z. B. ~/.bashrc). Remote laufen: Speicherung/Exfiltration via GitHub API, Nutzung gestohlener gh auth token und npm whoami‑Aufrufe, Publizieren manipulierten Pakets. Forensisch fanden Teams /tmp/inventory.txt(.bak), geänderte RC‑Files und CLI‑Logs (The Hacker News).
- Prompt‑Kerne: “file‑search agent” mit Verzeichnis‑Scans und Pattern‑Matches.
- Automation: npm‑Lifecycle Hooks (postinstall) ohne UI‑Interaktion.
- Exfiltration: GitHub API + public repo write mit gestohlenen Tokens.
Plattformaspekte: Der Code prüft process.platform und zielt primär auf Linux/macOS; Windows‑Handling wurde per Exit‑Pfad oder durch spezielle RC‑Einträge umgangen. Persistenzversuche bestanden aus Einträgen wie sudo shutdown -h 0 in Shell‑RCs. Forensisch rekonstruierbare Prompt‑Strings und CLI‑Spuren erlauben Detektion, genauso wie signaturbasierte YARA/EDR‑Regeln. Es liegen keine belastbaren Hinweise
vor, die Ollama, gpt‑oss:20b oder Lua in diesem konkreten Fall belegen; solche Technologien werden hier nur als mögliche Zukunftsszenarien getrennt diskutiert.
Nächstes Kapitel: Initialzugang, gestohlene Schlüssel und frische IoCs für Detection
Initialzugang, gestohlene Schlüssel und frische IoCs für Detection
Die erste Eintrittspforte im Fall war keinExploit‑Zero‑Day, sondern gestohlene CI‑Tokens: KI-gestützte Ransomware profitierte von kompromittierten GitHub Actions‑Workflows, die Publish‑Tokens für npm freilegten. In den ersten Laufzeiten sammelten postinstall‑Hooks Artefakte und erzeugten Inventar‑Dateien wie /tmp/inventory.txt, bevor sensible Tokens über GitHub‑APIs exfiltriert wurden. Das macht die frühzeitige Kontrolle von CI/CD‑Credentials zur dringlichsten Gegenmaßnahme.
Wie Tokens in die Kette kamen
Belegte Angriffsabläufe zeigen, dass Angreifer Workflow‑Injection in GitHub Actions nutzten, um PATs oder Runner‑Secrets zu lesen und weiterzunutzen. Betroffene Runner publizierten Pakete ohne Änderung des Quellcodes, weil der Publish‑Token außerhalb des Repository‑Contents lag. Die Rechtereichweite der Tokens (publish/write vs. read) entschied über die Möglichkeit, npm‑Releases direkt zu publizieren. Details finden sich in Incident‑Reports (Unit 42, Bleeping Computer).
Stations‑ und Artefakt‑Prüfung: Sofort‑Checkliste für Maintainer
- Audit GitHub Actions: prüfen Sie unerwartete Publishes vs. Protected Branches; prüfen Sie Tags/Commits auf fremde Signaturen.
- Tokens & Berechtigungen: npm token list, npm access ls‑team, GitHub Apps‑Scopes und gh CLI‑Autorisierungen auditieren.
- Lokale PCs: Entwickler‑Homes (~/.npmrc, ~/.ssh) auf neue/strange Dateien prüfen; Paket‑Caches (~/.npm/_cacache) sichern.
- Signing/Pipeline: Paket‑Signing‑Kette (Sigstore/rekor) validieren; wenn nicht genutzt, sofort Rotation und Revoke von Tokens.
- Logs prüfen: Workflow‑Logs auf Base64‑Strings, dreifache Base64‑Kodierung und ungewöhnliche gh/npx‑Sequenzen scannen.
IoCs & YARA/EDR‑freundliche Strings
Belegte IoCs im Nx‑Fall (prüfbar): Aufrufe von telemetry.js im Paket, Existenz von /tmp/inventory.txt oder /tmp/inventory.txt.bak, Repository‑Namen mit s1ngularity‑repository‑*, dreifache Base64‑Payloads in Workflow‑Logs, Modifikationen an ~/.bashrc oder ~/.zshrc. Generische KI‑Malware‑IoCs (label: generisch): lokale Modellpfade wie ~/.ollama oder Datenbanken ollama.db, CLI‑Strings zu claude|gemini|q — diese sind kontextuell und nur als Ergänzung einzusetzen.
Strings/Prozessketten (EDR‑Rules): “postinstall.*telemetry.js”, “/tmp/inventory.txt”, “gh auth login”, “npm publish –access” sowie Base64‑Pattern mit dreifacher Dekodierbarkeit. Priorität bei der Forensik: Workflow‑Logs, Runner‑Metadaten, npm/audit‑Logs und GitHub Audit Log. Nächster Schritt: IR unter KI‑Druck: Beweissicherung, flüchtige Spuren und Attribution.
IR unter KI‑Druck: Beweissicherung, flüchtige Spuren und Attribution
Bei Vorfällen mit KI-gestützte Ransomware entscheidet die richtige Reihenfolge der Beweissicherung über spätere Attribution und Wiederherstellung. Priorität haben volatile Artefakte und CI‑Credentials: RAM‑Snapshots, Runner‑Metadaten und Paketmanager‑Caches sind oft die einzigen Quellen, die prompt‑generierte Exfiltrationspfade sichtbar machen. Schnelles, koordiniertes Handeln reduziert Wanderschäden an Tokens und Paket‑Repos.
Welche Logquellen zuerst
Priorität haben Logs, die flüchtige Aktionen belegen: Container‑ und Runner‑Logs (stdout/stderr), Node/npm‑Lifecycle‑Logs und Paketmanager‑Caches (~/.npm/_cacache). Shell‑Histories und gh CLI‑Config enthalten häufig Befehlsketten und Tokens; AI‑CLI‑Logs (sofern vorhanden) liefern Prompt‑Fragmente. Generisch sollten Teams lokale Modellpfade (z. B. ~/.ollama) nur als ergänzende Spur prüfen, nicht als belegten IoC.
Praktische Erstmaßnahmen (Prioritätenliste)
- Containment: betroffene Runner isolieren; CI‑Jobs pausieren.
- Secret‑Rotation: sofortige Revocation von GitHub PATs, npm‑Tokens und App‑Keys.
- Repo‑Sweep: nach Indikatoren wie
s1ngularity‑repository‑*
suchen; Audit on published npm versions vs. protected branches. - Device Hygiene: RC‑Files (~/.*bashrc, ~/.zshrc) restaurieren, verdächtige postinstall‑Files (z. B. telemetry.js) sichern.
- Forensik: RAM‑Dump, Container Snapshot, Archivierung von ~/.npm/_cacache und Workflow‑Logs.
Flüchtige Artefakte und Live‑Forensik
Angreifer, die lokale LLMs nutzen, hinterlassen oft nur In‑Memory‑Artefakte. Vorgehen: Live‑Triaging mit RAM‑Snapshots, Prozess‑List‑Dumps und Netzwerk‑Capture. Schnelle Token‑Revocation muss parallel laufen, da Tokens in Sekunden missbraucht werden können. Dokumentation folgt NIST‑Guidance für Incident Response (NIST).
TTPs, Motivation und Attribution
Die Nutzung off‑the‑shelf LLMs spricht für schnelle Iteration und geringe Tooling‑Investition beim Angreifer. Das erschwert Attribution, weil dieselben CLIs global verfügbar sind. Indicators, die auf KI‑generierten Code hinweisen: strukturierte File‑Inventare (z. B. /tmp/inventory.txt), prompt‑ähnliche Logeinträge und wiederkehrende, menschenlesbare Prompt‑Fragmente.
Nächstes Kapitel: Vom Hotfix zur Strukturreform: Gegenmaßnahmen, Pflichten und Standards
Vom Hotfix zur Strukturreform: Gegenmaßnahmen, Pflichten und Standards
Organisationen, die KI-gestützte Ransomware begegnen, müssen dringend von punktuellen Hotfixes zu dauerhaften Kontrollen wechseln. Kernmaßnahme: Signatur‑ und Egress‑Kontrollen in CI/CD, ergänzt durch automatisierte Secret‑Rotation. Nur so werden Angreifer daran gehindert, lokale AI‑CLIs als Multiplikator für Credential‑Diebstahl zu missbrauchen.
Technische Kontrollen, die KI‑Vorteile neutralisieren
Wirksame Controls senken Angreifer‑Effizienz, ohne neue defensive KI‑Risikoflächen zu schaffen: enforce npm ignore‑scripts oder isolated builds in Container‑Runnern; erzwingen von Paket‑Signaturprüfungen via Sigstore/Cosign; implementieren von two‑person‑publish für kritische Pakete; minimale Token‑Scopes und automatisierte Rotation. CI‑Nebenwirkungen sind handhabbar, wenn Verifikationsschritte automatisiert werden.
Konkrete Policy‑Snippets & CI‑Steps
- GitHub Actions (Beispiel): Add a cosign verify step nach Build:
cosign verify –key public.pem ${PACKAGE}
. - npm config: set
npm config set ignore-scripts true
im Build‑Container; optional post‑verify Hook zum signaturprüfen. - Publish Governance: two‑person publish via GitHub CODEOWNERS + branch protection; nur signierte Artefakte allowed.
Verantwortungen von Registries, Maintainer und Modellanbietern
Paket‑Registries müssen Paket‑Provenienz erzwingen, Signaturen prüfen und Abuse‑Monitoring betreiben. NX‑Maintainer sollten verpflichtend Signaturen verlangen, publish‑Rechte auf least‑privilege Token limitieren und CI‑Audit‑Logs exportieren. Modellanbieter müssen Rate‑Limits und Anomalie‑Detektion für Code‑Generierungs‑APIs anbieten sowie Abuse‑Reportings unterstützen.
Systemische Reformen und Nebenwirkungen
Die effektivsten Reformen: verpflichtende SBOMs für JS‑Pakete, CI‑Token‑Rotation als Standard, Model‑Watermarking/Provenance und standardisierte Threat‑Sharing‑APIs. Kosten und Nebenwirkungen umfassen erhöhte Build‑Latenzen, Reibung im Dev‑Flow, Compliance‑Overhead und mögliche False‑Positives in automatischen Verifikations‑Pipelines.
Metriken zur Messung: Mean‑Time‑to‑Revoke (MTTR) von Tokens, Quote signierter Publishes (% signierter Releases), Detektions‑Lead‑Time (s zwischen Publish und Alert). Erfolg heißt: kürzere MTTR, steigende Signaturquote und fallende Exploit‑Hits. Nächster Schritt: Praxisschritte für Implementierung und Governance in CI/CD‑Pipelines.
Fazit
Teile diesen Leitfaden mit deinem Team, prüfe eure Pipelines heute und dokumentiere neue IoCs in euren Detection‑Regeln.