• 14/05/2026 11:59

Shai-Hulud: ataque a la cadena de suministro compromete cientos de paquetes en npm y PyPI

(origen) Salvador Henares Jimenez May 14, 2026 , , , , , , , ,
Tiempo estimado de lectura: 2 minutos, 37 segundos

TanStack, Mistral AI, Bitwarden CLI y SAP, entre los afectados por una campaña que utiliza tokens OIDC legítimos y firmas digitales válidas para distribuir malware indetectable.

La comunidad de desarrollo de software se enfrenta a una de las amenazas más sofisticadas de los últimos tiempos. Bajo el nombre de Shai-Hulud, una campaña de ataque a la cadena de suministro ha logrado infiltrar cientos de paquetes en los registros de npm y PyPI, afectando a proyectos de gran relevancia como TanStack y Mistral AI. Lo que hace que este ataque sea especialmente peligroso es su capacidad para eludir las defensas tradicionales mediante el uso de tokens OIDC legítimos y firmas digitales válidas, lo que otorga a los paquetes maliciosos una apariencia de autenticidad absoluta.

¿En qué consiste el ataque?

La campaña representa una evolución táctica que demuestra un conocimiento profundo de los flujos de trabajo de CI/CD (Integración Continua y Despliegue Continuo). Comenzó comprometiendo decenas de paquetes en los espacios de nombres de TanStack y Mistral AI, pero rápidamente se expandió a otros proyectos críticos como Guardrails AI, UiPath y OpenSearch.

El núcleo del problema reside en el encadenamiento de tres vulnerabilidades críticas en los flujos de trabajo de GitHub Actions:

  1. Workflows de pull_request_target de alto riesgo: configuraciones inseguras que permitieron a los atacantes ejecutar código en el contexto del repositorio principal.
  2. Envenenamiento de la caché de GitHub Actions: una técnica que permite inyectar dependencias maliciosas que luego son utilizadas por el sistema de construcción.
  3. Robo de tokens OIDC desde la memoria del runner: al extraer estos tokens, los atacantes pudieron publicar versiones maliciosas con atestación de procedencia SLSA, lo que significa que, para los sistemas de seguridad automatizados, los paquetes parecían 100% legítimos y construidos en el entorno oficial.

Impacto: robo masivo de credenciales

El objetivo principal de Shai-Hulud no es solo el sabotaje, sino el espionaje y el robo de secretos de desarrolladores. El malware inyectado busca de forma exhaustiva en el entorno de la víctima para extraer credenciales sensibles, incluyendo:

  • Tokens de GitHub Actions y Personal Access Tokens (PATs).
  • Credenciales de publicación en npm y credenciales de Git.
  • Secretos de AWS Manager, IAM y Kubernetes.
  • Configuraciones de herramientas de IA como Claude Code y tareas de VS Code.

Para evadir la detección, el malware utiliza la red de Session Messenger (basada en la infraestructura descentralizada de Oxen/Lokinet), lo que hace que el tráfico de exfiltración parezca comunicación cifrada de mensajería legítima, complicando enormemente las tareas de bloqueo por parte de los equipos de seguridad.

Además, se ha detectado un comportamiento de sabotaje selectivo: en entornos cuyas variables sugieren ubicación en Israel o Irán, el malware tiene una probabilidad aproximada de 1 entre 6 de ejecutar un comando de borrado recursivo (rm -rf /), lo que subraya la naturaleza destructiva y posiblemente geopolítica de la operación.

Versiones afectadas y alcance técnico

Diferentes firmas de seguridad han proporcionado cifras alarmantes sobre el alcance de la campaña. Endor Labs ha identificado más de 160 paquetes comprometidos en npm, mientras que Socket ha rastreado hasta 416 artefactos comprometidos entre npm y PyPI.

Componentes clave afectados:

Proyecto / Namespace Ecosistema Impacto Detectado
TanStack npm 42 paquetes comprometidos (84 versiones maliciosas).
Mistral AI PyPI Paquetes suplantados como ‘transformers.pyz’.
Bitwarden CLI npm Versiones recientes comprometidas.
SAP Official npm Múltiples paquetes bajo el namespace oficial.
Guardrails AI npm/PyPI Identificado en las olas de expansión.

Recomendaciones de Seguridad

Dada la sofisticación del ataque, en el que la firma digital ya no es garantía de seguridad, se recomienda a los equipos de desarrollo y seguridad tomar medidas inmediatas:

  • Auditoría de versiones: revisar exhaustivamente los archivos package-lock.json, yarn.lock, pnpm-lock.yaml o poetry.lock en busca de actualizaciones inesperadas en los últimos días, especialmente de los proyectos mencionados.
  • Rotación de credenciales: si se ha descargado alguna versión afectada, asumir que todos los secretos en esa máquina o entorno de CI/CD están comprometidos. Es imperativo rotar tokens de GitHub, npm, AWS y claves SSH.
  • Limpieza de persistencia: el malware puede integrarse en hooks de herramientas como Claude Code y en archivos tasks.json de VS Code. Desinstalar el paquete no elimina la amenaza; es necesario auditar los directorios de configuración de los IDE.
  • Lockfiles estrictos: forzar instalaciones basadas únicamente en archivos de bloqueo (npm ci, pnpm install --frozen-lockfile, pip install --require-hashes) para evitar actualizaciones automáticas o silenciosas.
  • Bloqueo de infraestructura C2: bloquear los dominios e indicadores de compromiso (IOCs) que vayan publicando fuentes verificadas como Socket, Endor Labs, StepSecurity y Aikido Security en sus boletines oficiales.

Más información

La entrada Shai-Hulud: ataque a la cadena de suministro compromete cientos de paquetes en npm y PyPI se publicó primero en Una Al Día.


Artículo de Salvador Henares Jimenez publicado en https://unaaldia.hispasec.com/2026/05/shai-hulud-ataque-a-la-cadena-de-suministro-compromete-cientos-de-paquetes-en-npm-y-pypi.html?utm_source=rss&utm_medium=rss&utm_campaign=shai-hulud-ataque-a-la-cadena-de-suministro-compromete-cientos-de-paquetes-en-npm-y-pypi