
🛡️ Ein-Befehl-Scanner für CVE-2026-45321 — TanStack npm Supply-Chain-Angriff
Ein-Befehl-Scanner für Supply-Chain-Angriffe für CVE-2026-45321 / GHSA-g7cv-rxg3-hmpx
Erkennt den „Mini Shai-Hulud“-Wurm, der am 11. Mai 2026 42 @tanstack/* npm-Pakete (84 bösartige Versionen) kompromittierte.
# One line — scan your project
curl -fsSL https://raw.githubusercontent.com/vaillance/tanstack-shield/main/tanstack-shield.sh | bash
# Scan specific directory
curl -fsSL https://raw.githubusercontent.com/vaillance/tanstack-shield/main/tanstack-shield.sh | bash -s -- /path/to/project
# Download and use directly
git clone https://github.com/vaillance/tanstack-shield.git
cd tanstack-shield
python3 tanstack-shield.py .
Am 11. Mai 2026 nutzte ein Angreifer drei bekannte Schwachstellenklassen — pull_request_target (Pwn-Request)-Fehlkonfiguration, GitHub-Actions-Cache-Vergiftung und OIDC-Token-Speicher-Extraktion — aus, um 84 bösartige Versionen in 42 @tanstack/*-Paketen unter der vertrauenswürdigen npm-Identität von TanStack zu veröffentlichen.
Die Schadsoftware sammelte Anmeldeinformationen (GitHub-Tokens, npm-Tokens, SSH-Schlüssel, AWS/GCP/Kubernetes/Vault), exfiltrierte sie über Session Messenger und verbreitete sich selbstständig auf andere Pakete, die das Opfer betreute.
Dieselbe Kampagne traf auch Mistral AI (npm + PyPI), UiPath (65 Pakete), OpenSearch (1,3 Mio. wöchentliche npm-Downloads) sowie über 170 npm-Pakete und 2 PyPI-Pakete.
Nur-Lese-Scanner, der Ihr Projekt auf folgende Punkte prüft:
| Was | Dateien | Ergebnis |
|---|---|---|
| npm-Lockdatei | package-lock.json, npm-shrinkwrap.json | 🔴 Exakte Übereinstimmung mit bösartiger Version |
| pnpm-Lockdatei | pnpm-lock.yaml | 🔴 Exakte Übereinstimmung mit bösartiger Version |
| yarn-Lockdatei | yarn.lock | 🔴 Exakte Übereinstimmung mit bösartiger Version |
| Manifest-Abhängigkeiten | package.json (Root + Workspaces) | 🟡 Paket-Präsenzwarnung |
| Malware-Fingerabdruck | @tanstack/setup in optionalDependencies | 🔴 Bestätigte Schadsoftware |
| Verdächtige Git-Abhängigkeiten | github:tanstack/router#<commit> | 🔴 Bestätigte Schadsoftware |
| Lebenszyklus-Skripte | prepare mit bun + router_init | 🔴 Bestätigte Schadsoftware |
| node_modules | node_modules/@tanstack/* (Fallback) | 🔴 Exakte Übereinstimmung der Version |
Hinweis: Lockdateien werden nur im Projektstammverzeichnis gescannt. Wenn Sie ein Monorepo mit Lockdateien in Unterverzeichnissen verwenden (z. B. packages/web/package-lock.json), führen Sie den Scanner in jedem Workspace oder vom Monorepo-Stamm aus, wo sich die Lockdatei der obersten Ebene befindet.
@tanstack/* in package.json gefunden. Überprüfen Sie Ihre Lockdatei.⚠️ Wichtig: Diese Schadsoftware ist ein CREDENTIAL-DIEBSTAHL, kein PC-zerstörender Virus. Bei 🔴-Erkennung:
curl -fsSL https://raw.githubusercontent.com/vaillance/tanstack-shield/main/tanstack-shield.sh | bash -s -- --json
Dieses Tool ist nur lesend. Es erstellt, ändert oder löscht keine Dateien auf Ihrem System.
MIT