
Claude Code-Fähigkeit zum Scannen von Maschinen nach Mini Shai-Hulud (CVE-2026-45321) Supply-Chain-Wurm-IOCs
Ein Claude Code-Skill, der Maschinen auf Anzeichen einer Kompromittierung (IOCs) durch den Mini-Shai-Hulud-Supply-Chain-Wurm (CVE-2026-45321, CVSS 9.6) scannt.
Ein sich selbst verbreitender Supply-Chain-Wurm, der am 11. Mai 2026 über 170 npm/PyPI-Pakete kompromittiert hat – darunter @tanstack/*, @mistralai/*, @uipath/* und @opensearch-project/*. Er stiehlt Anmeldedaten, persistiert durch Entwickler-Tools und installiert einen Totmannschalter, der Ihr Home-Verzeichnis löscht, wenn Sie Tokens widerrufen, bevor der Wurm entfernt wurde.
Bedrohungsakteur: TeamPCP
Führt 5 Diagnosedurchläufe zur Prüfung auf Wurm-Artefakte durch. Vollständig transparent – jeder Befehl wird vor der Ausführung angezeigt, und ohne Ihre ausdrückliche Zustimmung wird nichts ausgeführt.
/plugin marketplace add shayr1/shai-hulud-scan
/plugin install shai-hulud-scan
Dann ausführen mit: /shai-hulud-scan
git clone https://github.com/shayr1/shai-hulud-scan.git /tmp/shai-hulud-scan
mkdir -p ~/.claude/skills/shai-hulud-scan
cp /tmp/shai-hulud-scan/SKILL.md ~/.claude/skills/shai-hulud-scan/SKILL.md
Dann ausführen mit: /shai-hulud-scan
Detected platform: macOS. All commands below are tailored for this environment.
### Pass 1: Dead-Man's Switch
The worm installs a daemon called `gh-token-monitor` that polls GitHub every
60 seconds. If it detects that your GitHub token has been revoked, it executes
`rm -rf ~/` - wiping your entire home directory.
Commands that will run:
test -f ~/Library/LaunchAgents/com.user.gh-token-monitor.plist && echo "FOUND" || echo "NOT FOUND"
launchctl list 2>/dev/null | grep gh-token-monitor || echo "NOT FOUND"
test -f ~/.local/bin/gh-token-monitor.sh && echo "FOUND" || echo "NOT FOUND"
> Approve running these commands? [Approve / Skip]
Pass 1 - Dead-man's switch: CLEAN
CVE: CVE-2026-45321 | CVSS: 9.6 | Angreifer: TeamPCP
ab4fcadaec49c03278063dd269ea5eef82d24f2124a8e15d7b90f2fa8601266c – router_init.js2ec78d556d696e208927cc503d48e4b5eb56b31abc2870c2ed2e98d6be27fc96 – tanstack_runner.js2258284d65f63829bd67eaba01ef6f1ada2f593f9bbe41678b2df360bd90d3df – setup.mjsgit-tanstack.com (Typosquat-Domain)api.masscan.cloud (Exfiltration von Geheimnissen)filev2.getsession.org (Exfiltration per Session-Protokoll)83.142.209.194 (Credential-Stealer für mistralai)~/Library/LaunchAgents/com.user.gh-token-monitor.plist (macOS)~/.config/systemd/user/gh-token-monitor.service (Linux)~/.local/bin/gh-token-monitor.sh (macOS/Linux)~/.claude/router_runtime.js, ~/.claude/setup.mjs.vscode/setup.mjs, .github/workflows/codeql_analysis.ymlvoicproducoes (Angreifer-npm-Konto)79ac49eedf (Präfix eines verwaisten Commit-Hashs)MIT
| Durchlauf | Prüfung | Grund |
|---|
| 1 | Totmannschalter (gh-token-monitor) | Löscht ~/, wenn Tokens vor der Entfernung widerrufen werden |
| 2 | Persistenz-Hooks (Claude Code, VS Code, GitHub Actions) | Führt den Wurm beim Start der IDE erneut aus |
| 3 | Schädliche Dateien (router_init.js, tanstack_runner.js) | Nutzlast bleibt nach Paketentfernung bestehen |
| 4 | Kompromittierte Paketversionen in Lockfiles | Betroffene @tanstack-, @mistralai-, @uipath-, @opensearch-Versionen |
| 5 | Netzwerk-IOCs (optional) | Aktive C2-Verbindungen und DNS-Auflösung |
| Durchlauf | Prüfung | Ergebnis |
|---|
| 1 | Totmannschalter | CLEAN |
| 2 | Persistenz-Hooks | CLEAN |
| 3 | Schädliche Dateien | CLEAN |
| 4 | Kompromittierte Pakete | CLEAN |
| 5 | Netzwerk-IOCs | SKIPPED |