
Escáner de un solo comando para el gusano Mini Shai-Hulud de la cadena de suministro de npm (CVE-2026-45321). Detecta antes de rotar los tokens.
Escáner de un solo comando para el ataque a la cadena de suministro de npm Mini Shai-Hulud (CVE-2026-45321, CVSS 9.6).
El gusano instala un demonio de persistencia (gh-token-monitor) que ejecuta rm -rf ~ si detecta la revocación de credenciales. No rote su PAT de GitHub ni su token de npm hasta que haya confirmado que el demonio ha desaparecido. Detectar → eliminar el demonio → luego rotar.
curl -fsSL https://raw.githubusercontent.com/prashanthnataraj/mini-shai-hulud-detector/main/shai-hulud-detector.sh | bash
O descárguelo e inspecciónelo primero (recomendado para cualquier script que vaya a canalizar a un shell):
curl -fsSL https://raw.githubusercontent.com/prashanthnataraj/mini-shai-hulud-detector/main/shai-hulud-detector.sh -o shai-hulud-detector.sh
# Léalo. Después:
bash shai-hulud-detector.sh
| Código | Veredicto |
|---|---|
0 | LIMPIO — no se encontraron indicadores |
1 | SOSPECHOSO — se requiere revisión manual |
2 | INFECTADO — siga el orden de remediación exactamente (consulte la salida del script) |
La ausencia de
package-lock.jsondevuelve SOSPECHOSO por diseño: ejecute el escaneo después denpm install.
npm install, npm uninstall ni git push.rm -rf node_modules && npm install --ignore-scripts.Añada a .npmrc:
ignore-scripts=true
minimum-release-age=4320
Fije todas las GitHub Actions a un SHA de commit completo, no a una etiqueta de versión.
Escrito después de que el equipo de Lume AI se encontrara con un ataque real CVE-2026-45321 en mayo de 2026. El script es de solo lectura: no realiza llamadas de red después de la descarga ni escribe en el disco. Revise el código fuente antes de ejecutarlo.
MIT — consulte LICENSE.
| Paso | Comprobación |
|---|
| 1 | Paquete fantasma @tanstack/setup en package-lock.json |
| 2 | Archivos de payload maliciosos conocidos (router_init.js, tanstack_runner.js) |
| 3 | Hashes SHA-256 de payloads contra una lista de valores maliciosos conocidos |
| 4 | Demonio de persistencia gh-token-monitor (LaunchAgent / systemd / pgrep) |
| 5 | Hooks inesperados PreToolUse / PostToolUse en ~/.claude/settings.json |
| 6 | Disparadores pull_request_target y referencias de acciones sin fijar en .github/workflows |