
Abilità Claude Code per scansionare le macchine alla ricerca di IOC del worm della supply chain Mini Shai-Hulud (CVE-2026-45321)
Una skill per Claude Code che analizza le macchine alla ricerca di indicatori di compromissione (IOC) del worm supply chain Mini Shai-Hulud (CVE-2026-45321, CVSS 9.6).
Un worm self-propagating della supply chain che ha compromesso oltre 170 pacchetti npm/PyPI l'11 maggio 2026, tra cui @tanstack/*, @mistralai/*, @uipath/* e @opensearch-project/*. Ruba credenziali, persiste attraverso gli strumenti di sviluppo e installa un interruttore kill (dead-man's switch) che cancella la tua home directory se revochi i token prima di averlo rimosso.
Attore della minaccia: TeamPCP
Esegue 5 passaggi diagnostici che verificano la presenza di artefatti del worm. Totalmente trasparente: ogni comando viene mostrato prima dell'esecuzione e nulla viene eseguito senza la tua esplicita approvazione.
/plugin marketplace add shayr1/shai-hulud-scan
/plugin install shai-hulud-scan
Quindi eseguire con: /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
Quindi eseguire con: /shai-hulud-scan
Piattaforma rilevata: macOS. Tutti i comandi seguenti sono adattati a questo ambiente.
### Pass 1: Interruttore kill (Dead-Man's Switch)
Il worm installa un demone chiamato `gh-token-monitor` che interroga GitHub ogni
60 secondi. Se rileva che il tuo token GitHub è stato revocato, esegue
`rm -rf ~/` - cancellando l'intera home directory.
Comandi che verranno eseguiti:
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"
> Approvare l'esecuzione di questi comandi? [Approve / Skip]
Pass 1 - Interruttore kill: CLEAN
## Scan Completato - Risultati
| Pass | Check | Result |
|------|-----------------------|---------|
| 1 | Interruttore kill | CLEAN |
| 2 | Hook di persistenza | CLEAN |
| 3 | File dannosi | CLEAN |
| 4 | Pacchetti compromessi | CLEAN |
| 5 | IOC di rete | SKIPPED |
CVE: CVE-2026-45321 | CVSS: 9.6 | Attore della minaccia: TeamPCP
ab4fcadaec49c03278063dd269ea5eef82d24f2124a8e15d7b90f2fa8601266c - router_init.js2ec78d556d696e208927cc503d48e4b5eb56b31abc2870c2ed2e98d6be27fc96 - tanstack_runner.js2258284d65f63829bd67eaba01ef6f1ada2f593f9bbe41678b2df360bd90d3df - setup.mjsgit-tanstack.com (dominio typosquat)api.masscan.cloud (esfiltrazione di segreti)filev2.getsession.org (esfiltrazione tramite Session Protocol)83.142.209.194 (ladro di credenziali 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 (account npm dell'attaccante)79ac49eedf (prefisso di commit orfano)MIT
| Pass | Check | Perché |
|---|
| 1 | Interruttore kill (gh-token-monitor) | Cancella ~/ se i token vengono revocati prima della rimozione |
| 2 | Hook di persistenza (Claude Code, VS Code, GitHub Actions) | Riesegue il worm all'avvio dell'IDE |
| 3 | File dannosi (router_init.js, tanstack_runner.js) | Il payload persiste dopo la rimozione del pacchetto |
| 4 | Versioni compromesse dei pacchetti nei lockfile | Versioni affette di @tanstack, @mistralai, @uipath, @opensearch |
| 5 | IOC di rete (opt-in) | Connessioni C2 attive e risoluzione DNS |