Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
tanstack-compromise-checker — Detecta CVE-2026-45321 (compromiso de la cadena de suministro de TanStack) y artefactos del gusano Mini Shai-Hulud. Escanea node_modules, lockfiles, hooks de persistencia (Claude Code, VS Code, systemd, LaunchAgent), flujos de trabajo de GitHub, historial de git, dominios C2 y configuraciones de herramientas de IA. | Kitploit
Herramientas/GitHubGitHub/ry-allan/tanstack-compromise-checker
Gestión de Indicadores de Compromiso (IOC)Escáneres de VulnerabilidadesMecanismos de PersistenciaAnálisis ForenseAnálisis de MalwareComando y ControlInteligencia de AmenazasSeguridad de Cadena de SuministroRespuesta a Incidentes

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
GitHubry-allan/tanstack-compromise-checker

tanstack-compromise-checker

Ver Repositorio
hace 2 mesesAún no revisado

Acerca de

Detecta CVE-2026-45321 (compromiso de la cadena de suministro de TanStack) y artefactos del gusano Mini Shai-Hulud. Escanea node_modules, lockfiles, hooks de persistencia (Claude Code, VS Code, systemd, LaunchAgent), flujos de trabajo de GitHub, historial de git, dominios C2 y configuraciones de herramientas de IA.

Compartir

tanstack-compromise-checker

⚠️ Aviso legal: Esta herramienta fue creada para mi propio caso de uso. Todos los indicadores se derivan de las siguientes fuentes de avisos de seguridad:

  • GHSA-g7cv-rxg3-hmpx
  • Snyk: Paquetes npm de TanStack comprometidos
  • StepSecurity: Análisis en profundidad de Mini Shai-Hulud

Si aparecen nuevos IOC, variantes de payload o infraestructura del atacante después de la última actualización, no serán detectados. Comprueba siempre los avisos de seguridad publicados más recientes.

Detecta el compromiso de la cadena de suministro de TanStack (CVE-2026-45321) y los artefactos relacionados con el gusano Mini Shai-Hulud en una copia local de un proyecto.

El script está pensado para un triaje rápido en copias de código fuente, trabajos de CI y builds de Docker. Un resultado limpio significa que no se encontró ninguno de los indicadores conocidos que se indican a continuación. No es una investigación forense completa ni una garantía de que una máquina nunca estuvo expuesta.

Qué comprueba

CategoríaDetalles
Paquetes comprometidosLos 42 paquetes @tanstack/* + 20 víctimas secundarias propagadas por el gusano (@mistralai, @opensearch-project, @draftlab, safe-action, etc.)
Escaneo de lockfilespnpm-lock.yaml, yarn.lock, bun.lock, bun.lockb, package-lock.json, incluyendo entradas packages multilínea de npm v3 y bloques selector/versión de Yarn v1
Archivos payloadrouter_init.js, tanstack_runner.js en node_modules con verificación SHA-256; tanto las coincidencias exactas de hash como los desajustes de hash hacen fallar el escaneo
Vector de infección@tanstack/setup como optionalDependency en cualquier paquete instalado
PersistenciaHooks SessionStart de Claude Code en la configuración del proyecto y del home, tareas folderOpen de VS Code, gh-token-monitor (LaunchAgent + systemd), workflows maliciosos de GitHub
Artefactos en disco.claude/router_runtime.js, .claude/setup.mjs, .vscode/setup.mjs, gh-token-monitor.sh, com.user.gh-token-monitor.plist
IOC de código fuenteHashes de commits del atacante, dominios C2 (api.masscan.cloud, git-tanstack.com), endpoints de Session Protocol, salt PBKDF2, cadenas de campaña
Historial de GitCommits creados por [email protected]
Patrones de ramasdependabot/github_actions/format/* y dependabout/*/setup-formatter
Configuraciones de herramientas de IA

Qué no cubre

  • Comprueba nombres de paquetes, versiones, nombres de archivo, hashes, dominios, nombres de ramas y rutas de persistencia conocidos de los avisos públicos. La nueva infraestructura del atacante o los payloads renombrados pueden requerir nuevos indicadores.
  • Selecciona un único lockfile del proyecto siguiendo el orden de prioridad del gestor de paquetes (pnpm, yarn, bun y luego npm). Si un repositorio contiene intencionadamente varios lockfiles, escanea por separado el estado de cada gestor de paquetes relevante.
  • Puede identificar archivos y configuraciones sospechosos, pero no elimina malware, rota secretos, revoca tokens ni crea una imagen del host.
  • La comprobación de tokens de npm solo se ejecuta cuando npm está disponible y con la autenticación suficiente para npm token list.
  • Las comprobaciones de persistencia en el directorio home inspeccionan el HOME actual del proceso que ejecuta el script. En CI o contenedores, puede diferir del directorio home de la estación de trabajo del desarrollador.

Inicio rápido

root@kitploit:~
# Scan current directory
bash check-tanstack-compromise.sh .

# Scan a specific project
bash check-tanstack-compromise.sh /path/to/project

# One-liner (curl)
curl -sL https://raw.githubusercontent.com/ry-allan/tanstack-compromise-checker/main/check-tanstack-compromise.sh | bash

Código de salida 0 = no se encontraron indicadores cubiertos. Código de salida 1 = se encontró un compromiso cubierto o un indicador de payload sospechoso.

Ejemplo de salida (proyecto limpio)

root@kitploit:~
═══════════════════════════════════════════════════════════════
  TanStack Supply Chain Compromise Check (CVE-2026-45321)
═══════════════════════════════════════════════════════════════
  Advisory: GHSA-g7cv-rxg3-hmpx
  Reference: https://snyk.io/blog/tanstack-npm-packages-compromised/
  Deep dive: https://www.stepsecurity.io/blog/mini-shai-hulud-is-back-…

[*] Scanning: /Users/xxxxx/repos/xxxxx

[*] Package manager: pnpm (pnpm-lock.yaml)

[*] Checking installed TanStack packages against 42 known-compromised versions…

[*] Checking worm-propagated secondary victims (Mini Shai-Hulud)…
[*]   Packages: @mistralai, @opensearch-project, @draftlab, @draftauth,
[*]   @dirigible-ai, safe-action, cmux-agent-mcp, nextmove-mcp,
[*]   git-git-git, git-branch-selector, agentwork-cli, ml-toolkit-ts,
[*]   wot-api, cross-stitch, ts-dna

[*] Scanning lockfile for known-compromised versions (pnpm-lock.yaml)…
[✓] No compromised versions in lockfile

[*] Checking for persistence artifacts (payload files, hooks, services, C2)…
[✓] No malicious author commits in git history

───────────────────────────────────────────────────────────────
[✓] No compromise detected.

Cómo prevenir futuros ataques

Instala Aikido Safe Chain para escanear automáticamente cada instalación de paquetes en busca de malware:

root@kitploit:~
curl -fsSL https://github.com/AikidoSec/safe-chain/releases/latest/download/install-safe-chain.sh | sh

Reinicia tu terminal después. Safe Chain envuelve npm, npx, yarn, pnpm, pip, uv y más, bloqueando paquetes con menos de 48 horas de antigüedad y versiones conocidas como maliciosas antes de que lleguen al disco. No requiere tokens ni configuración.

Cobertura de pruebas

El Dockerfile de integración solo crea fixtures sintéticos. No descarga paquetes comprometidos reales.

El fixture principal verifica que los 33 mensajes de detección se disparan en manifiestos de paquetes, lockfiles, artefactos de persistencia, workflows, historial de git, IOC de código fuente, nombres de archivos payload, configuraciones de herramientas de IA y salida de remediación:

root@kitploit:~
docker build -f integration.Dockerfile -t tanstack-check-test .

El build de Docker también incluye cobertura de regresión específica para:

  • Entradas package-lock.json v3 en las que el nombre del paquete y la versión comprometida aparecen en líneas separadas.
  • Entradas de lockfile de Yarn v1 en las que el selector de paquete y la version comprometida aparecen en líneas separadas.
  • Nombres de archivo payload router_init.js con hash no coincidente que devuelven el código de salida 1.
  • Hooks SessionStart de Claude Code a nivel de home incluso cuando existe un .claude/settings.json limpio a nivel de proyecto.

Tras el build, el comando de la imagen puede ejecutarse directamente:

root@kitploit:~
docker run --rm tanstack-check-test

Referencias

  • GHSA-g7cv-rxg3-hmpx
  • Snyk: Paquetes npm de TanStack comprometidos
  • StepSecurity: Análisis en profundidad de Mini Shai-Hulud
Descargar herramienta
.claude/mcp.json y .kiro/settings/mcp.json manipulados
Procesos en ejecuciónProcesos daemonizados del payload y de gh-token-monitor
Tokens de npmTokens marcados con mensaje de ransomware (IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner)