Blog Ciberseguridad

Mini Shai-Hulud vuelve: compromiso masivo de paquetes npm afecta a TanStack, Mistral AI y cientos de proyectos

Una nueva ola del malware “Mini Shai-Hulud” comprometió más de 169 paquetes npm y cientos de versiones maliciosas, afectando librerías ampliamente utilizadas como @tanstack/*, @mistralai/*, @uipath/* y otros componentes críticos del ecosistema JavaScript.

La campaña de malware conocida como Mini Shai-Hulud ha regresado con una nueva ola de ataques a la cadena de suministro de software (Supply Chain Attack), comprometiendo más de 169 paquetes npm y al menos 373 versiones maliciosas distribuidas a través de namespaces ampliamente utilizados en entornos de desarrollo modernos.

Entre los proyectos afectados destacan:

  • @tanstack/*
  • @mistralai/*
  • @uipath/*
  • @squawk/*
  • @tallyui/*
  • @beproduct/*

El incidente, según señala Aikido Security, representa una escalada relevante respecto a la campaña identificada semanas atrás contra paquetes SAP npm, previamente analizada por CronUp Ciberseguridad. La nueva variante no solo roba secretos y credenciales, sino que además intenta propagarse automáticamente utilizando los mismos pipelines CI/CD comprometidos de las víctimas.

¿Qué ocurrió?

El 11 de mayo de 2026, investigadores detectaron múltiples versiones maliciosas publicadas dentro del ecosistema @tanstack/*, incluyendo componentes altamente utilizados como:

  • @tanstack/react-router
  • @tanstack/history
  • @tanstack/router-core

Según diversas investigaciones, el malware fue distribuido mediante el abuso de workflows legítimos de GitHub Actions y mecanismos de trusted publishing basados en OIDC.

Uno de los aspectos más relevantes del ataque es que las versiones comprometidas fueron publicadas utilizando pipelines válidos y con firmas/provenance legítimos, demostrando que mecanismos como SLSA o Sigstore no garantizan por sí solos la integridad del proceso de build cuando el pipeline ya se encuentra comprometido.

¿Qué busca robar el malware?

La carga maliciosa está enfocada principalmente en entornos de desarrollo y CI/CD.

Entre los artefactos y secretos objetivo destacan:

  • Tokens GitHub y GitHub Actions
  • npm tokens
  • Credenciales AWS/GCP/Azure
  • Kubernetes Service Accounts
  • Tokens HashiCorp Vault
  • Variables de entorno
  • Secretos almacenados en runners CI/CD
  • Credenciales multi-cloud

El malware además incorpora capacidades de propagación automática, reutilizando credenciales robadas para publicar nuevas versiones comprometidas en otros paquetes npm accesibles por la víctima.

Paquetes Mistral AI comprometidos

También fueron confirmadas versiones maliciosas en SDKs asociados a Mistral AI:

  • @mistralai/mistralai
  • @mistralai/mistralai-azure
  • @mistralai/mistralai-gcp

Lo anterior incrementa el riesgo para organizaciones que utilizan pipelines de IA, automatización o integración de modelos LLM en entornos corporativos.

Indicadores técnicos observados

Investigadores identificaron archivos y patrones asociados a esta campaña:

  • router_init.js
  • router_runtime.js
  • tanstack_runner.js
  • Dependencia maliciosa:
    • @tanstack/setup
  • Ejecución sospechosa:
    • bun run tanstack_runner.js

Asimismo, se observaron intentos de acceso a metadata cloud y robo de secretos en entornos Kubernetes y CI/CD.

Recomendaciones de mitigación

Desde CronUp Ciberseguridad recomendamos:

Acciones inmediatas

  • Identificar instalaciones recientes de paquetes afectados.
  • Revisar lockfiles y caches npm/pnpm/yarn.
  • Rotar inmediatamente:
    • GitHub PATs
    • npm tokens
    • Credenciales cloud
    • Secretos CI/CD
    • Tokens Kubernetes/Vault
  • Revisar workflows GitHub Actions y pipelines automatizados.
  • Auditar publicaciones npm recientes y accesos privilegiados.

Acciones estratégicas

  • Implementar controles de Supply Chain Security.
  • Fortalecer pipelines CI/CD con segmentación de privilegios.
  • Monitorear dependencias de terceros continuamente.
  • Incorporar validaciones adicionales sobre dependencias y provenance.
  • Establecer monitoreo activo sobre exposición de secretos y credenciales.

Este incidente confirma una tendencia creciente: los atacantes ya no buscan únicamente comprometer endpoints o usuarios finales, sino también infiltrarse directamente en los procesos de desarrollo, automatización y despliegue de software.

La evolución de Mini Shai-Hulud demuestra cómo los ataques modernos a la cadena de suministro ahora combinan:

  • Trusted publishing
  • GitHub Actions
  • OIDC
  • Automatización CI/CD
  • Robo de secretos cloud
  • Propagación automatizada entre repositorios

Todo esto convierte a los pipelines DevOps en un objetivo prioritario para actores avanzados.

Aspectos más relevantes de la nueva campaña Mini Shai-Hulud

1. GitHub Actions fue utilizado como mecanismo de propagación

Uno de los elementos más llamativos del ataque es el uso de workflows legítimos de GitHub Actions para distribuir versiones maliciosas dentro del ecosistema npm.

El actor aprovecha pipelines CI/CD comprometidos y mecanismos de trusted publishing mediante OIDC para publicar nuevas versiones infectadas utilizando credenciales válidas, dificultando significativamente la detección tradicional basada en firmas o provenance.

Esto confirma que los pipelines DevOps se han convertido en un objetivo prioritario dentro de los ataques modernos a la cadena de suministro de software.

2. El malware incorpora mecanismos destructivos tras la rotación de credenciales

Investigadores observaron comportamientos asociados a capacidades de sabotaje posteriores a la respuesta al incidente.

En ciertos escenarios, el malware intentaría ejecutar acciones destructivas o de corrupción sobre el entorno comprometido luego de detectar la rotación de tokens o pérdida de acceso, incluyendo operaciones potencialmente orientadas al borrado o alteración del sistema afectado.

Este comportamiento sugiere un cambio relevante: los operadores no solo buscan persistencia y robo de secretos, sino también afectar la recuperación y respuesta defensiva.

3. TeamPCP habría liberado públicamente el código fuente del worm

Otro aspecto particularmente relevante es que TeamPCP habría compartido públicamente el código fuente utilizado en esta operación.

La disponibilidad del código incrementa significativamente el riesgo de reutilización por otros actores y facilita la aparición de nuevas variantes o campañas derivadas.

Además, diversos investigadores han señalado que parte del malware aparenta haber sido desarrollado mediante herramientas de IA generativa (“vibe coded”), reflejando cómo actores maliciosos comienzan a acelerar el desarrollo ofensivo utilizando asistencia automatizada.

Indicadores de Compromiso (IoC)

Paquetes npm

  • C2/Exfiltración: hxxp://filev2[.]getsession[.]org/file/ (servidor de archivos Session)
  • Sonda de metadatos AWS: hxxp://169[.]254[.]169[.]254/latest/meta-data/iam/security-credentials/
  • Sonda de Vault: hxxp://127[.]0[.]0[.]1:8200
  • Descarga del runtime Bun: hxxps://github[.]com/oven-sh/bun/releases/download/bun-v1.3.13/
  • SHA-256 del paquete: ce7e4199506959fd7a71b64209b2c07b9c82e53a946aa7d78298dc9249230d01 (@mistralai/[email protected])
  • Commit malicioso en GitHub: tanstack/router#79ac49eedf774dd4b0cfa308722bc463cfe5885c (host del payload para @tanstack/setup)
  • Archivos desplegados:
    • .claude/settings.json
    • .claude/setup.mjs
    • .vscode/tasks.json
    • .vscode/setup.mjs
    • .claude/router_runtime.js
  • Abuso de la API de GitHub: mutación GraphQL createCommitOnBranch para subir configuraciones comprometidas
  • Patrones de tokens buscados:
    • ghp_*
    • gho_*
    • ghs_*
    • npm_*
  • C2 secundario PyPI: hxxps://git-tanstack[.]com/transformers[.]pyz (protegido por Cloudflare, registrado el 9 de mayo de 2026)
  • Staging del payload PyPI: /tmp/transformers.pyz

Paquetes PyPI (Actualización 2026-05-12)

  • Paquetes maliciosos:
    • mistralai==2.4.6
    • guardrails-ai==0.10.1
  • Estado de los proyectos en PyPI: ambos proyectos fueron puestos en cuarentena; los archivos ya no son accesibles
  • Dominio de descarga del payload: hxxps://git-tanstack[.]com/transformers.pyz (Cloudflare lo marcó como phishing)
  • Payload escrito en disco: /tmp/transformers.pyz
  • Comando de ejecución: python3 /tmp/transformers.pyz (sin verificación de integridad)
  • Disparador: se ejecuta al importar el paquete (import), no durante pip install (los entornos de instalación sandboxeados podrían no detectarlo)

Referencias:

Artículos Relacionados

Ciberataques en la era de la IA

La incorporación de inteligencia artificial en operaciones ofensivas está modificando una variable menos visible, pero potencialmente más importante que la aparición de nuevas técnicas: el

Seguir Leyendo
Identifica tus vulnerabilidades antes que lo hagan otros
Reduce tu ventana de exposición al riesgo a las amenazas externas, mejorando la eficiencia en la detección y respuesta ante ciberamenazas.
Más Info

Últimos Artículos

No dejes tu seguridad para después.

Si tienes alguna duda o pregunta con nuestros servicios, puedes comunicarte directamente con nosotros o completar el formulario, y nos pondremos en contacto contigo en breve.

Ubicación

Providencia, Santiago de Chile

Twitter

@Cronup_CyberSec

Linkedin

Cronup Ciberseguridad

CronUp Newsletter

Suscríbete a nuestro resumen semanal de noticias y alertas de seguridad para mantenerte actualizado sobre el panorama de amenazas en la región y el mundo.

* indicates required
CronUp Ciberseguridad

Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.