Mini Shai-Hulud: Ataque a Paquetes npm y PyPI

Una nueva y sofisticada campaña de ataque, bautizada como Mini Shai-Hulud, ha afectado a una serie de paquetes de software populares disponibles en los repositorios npm y PyPI, incluyendo TanStack, Mistral AI, Guardrails AI y OpenSearch. El grupo TeamPCP, ya conocido por su modus operandi de ataques por cadena de suministro, es el responsable de esta nueva incursión, que ha comprometido numerosos ficheros y ha puesto en riesgo la seguridad de miles de desarrolladores y empresas que utilizan estos componentes. La gravedad del incidente, que ha recibido la identificación CVE-2026-45321 con una puntuación CVSS de 9.6, reside en la capacidad del malware para robar credenciales y acceder a sistemas sensibles, incluyendo proveedores de la nube, carteras de criptomonedas, herramientas de inteligencia artificial, aplicaciones de mensajería y sistemas de integración continua como Github Actions. La amenaza, que se ha extendido a paquetes de UiPath y DraftLab, representa un riesgo considerable para la ciberseguridad en el sector tecnológico.

La campaña Mini Shai-Hulud se enmarca dentro de una tendencia preocupante: el uso de ataques por cadena de suministro para infiltrarse en sistemas y comprometer la seguridad de las aplicaciones. El grupo TeamPCP, con su enfoque en la manipulación de paquetes de software, ha demostrado una capacidad para explotar vulnerabilidades en el proceso de publicación y distribución de código, lo que ha puesto de manifiesto la necesidad de reforzar las medidas de seguridad en toda la cadena de suministro del software. La complejidad del ataque, que involucra la utilización de técnicas como el "poisoning" de caché de GitHub Actions y la extracción de tokens de memoria en tiempo de ejecución, subraya la creciente sofisticación de los actores maliciosos y la importancia de una defensa en profundidad. Este tipo de ataque, además, se produce en un contexto de mayor escrutinio sobre las prácticas de seguridad en las herramientas de desarrollo y las plataformas de gestión de código, lo que exige una revisión exhaustiva de los procesos y la adopción de medidas de seguridad más robustas.

Análisis técnico

El malware empleado en esta campaña se basa en un archivo JavaScript, denominado "router_init.js", que se introduce en los paquetes comprometidos. Su función principal es el perfilado del entorno de ejecución y la ejecución de un agente de robo de credenciales. Este agente es capaz de identificar y acceder a una amplia gama de sistemas y servicios, incluyendo proveedores de la nube, carteras de criptommonedas, herramientas de inteligencia artificial, aplicaciones de mensajería y sistemas de integración continua. El agente utiliza el Protocolo de Sesión para evadir la detección, aprovechando el hecho de que el dominio "filev2.getsession[.]org", perteneciente a un servicio de mensajería descentralizado y de privacidad, es poco probable que sea bloqueado por los cortafuegos empresariales. Como medida de respaldo, los datos robados se almacenan en repositorios controlados por los atacantes, utilizando el nombre de usuario "claude@users.noreply.github.com" y la API GraphQL de GitHub, empleando los tokens de acceso robados para los repositorios. La persistencia del malware se logra mediante la instalación de servicios como "gh-token-monitor" para vigilar y re-exfiltrar tokens de GitHub, y la inyección de dos flujos de trabajo maliciosos de GitHub Actions para serializar secretos de repositorio en un objeto JSON y subirlos a un servidor externo ("api.masscan[.]cloud").

La estrategia de ataque se distingue por la utilización de diferentes métodos para introducir el payload malicioso en los paquetes. En el caso de TanStack, se incluye el archivo JavaScript dentro del tarball del paquete y se añade una dependencia opcional que apunta a un paquete alojado en GitHub. Este paquete contiene un "hook" de ciclo de vida (prepare) que ejecuta el payload JavaScript a través del runtime Bun. En el caso de los paquetes de Mistral AI, se reemplaza el contenido del archivo "package.json" con un "hook" preinstall que invoca "node setup.mjs", que descarga Bun y ejecuta el mismo malware. La utilización de Bun, un entorno de ejecución moderno y rápido, permite a los atacantes ejecutar código de forma eficiente y evitar la detección por parte de los sistemas de seguridad tradicionales. Además, la capacidad del malware para establecer "hooks" de persistencia en Claude Code y Visual Studio Code (VS Code) garantiza que el agente continúe ejecutándose incluso después de reiniciar los IDEs, lo que aumenta significativamente el tiempo que los atacantes tienen para robar información sensible.

La sofisticación del ataque se completa con la instalación de un servicio "gh-token-monitor" para vigilar y re-exfiltrar tokens de GitHub, y la inyección de dos maliciosos flujos de trabajo de GitHub Actions para serializar secretos de repositorio en un objeto JSON y subirlos a un servidor externo ("api.masscan[.]cloud"). Esta combinación de técnicas permite a los atacantes mantener el acceso a los sistemas comprometidos durante un período prolongado y maximizar el impacto del ataque.

Contexto y antecedentes

Este incidente se enmarca dentro de un panorama global de creciente preocupación por la seguridad de las cadenas de suministro de software. El aumento de los ataques por cadena de suministro, como el reciente ataque del grupo TeamPCP, ha puesto de manifiesto la vulnerabilidad de las aplicaciones y sistemas que dependen de componentes de terceros. La dependencia de paquetes de software de proveedores externos, especialmente aquellos que no cuentan con las medidas de seguridad más estrictas, puede crear puntos débiles que los atacantes pueden explotar para comprometer la seguridad de la red. La ciberseguridad en el sector tecnológico, y en particular en el desarrollo de software, está experimentando una transformación, impulsada por la necesidad de adoptar prácticas de seguridad más proactivas y robustas. La creciente popularidad de herramientas como GitHub Actions, que facilitan la automatización de tareas de desarrollo, también ha creado nuevas oportunidades para los atacantes, que pueden utilizar estas herramientas para ejecutar código malicioso dentro de los flujos de trabajo de los proyectos.

Además, la campaña Mini Shai-Hulud se relaciona con otros ataques por cadena de suministro que han tenido lugar en los últimos años, como el ataque al SAP que comprometió millones de sistemas de todo el mundo. Estos ataques han demostrado que los atacantes pueden utilizar las herramientas de desarrollo y las plataformas de gestión de código para infiltrarse en sistemas y comprometer la seguridad de las aplicaciones. La adopción de prácticas de seguridad como SLSA (Software Supply Chain Security Assurance) está ganando terreno como respuesta a estas amenazas, aunque su implementación requiere un esfuerzo considerable por parte de los desarrolladores y las organizaciones. El ataque también refleja tendencias en el uso de técnicas de "supply chain attack" que han sido observadas en otros sectores, como el de la defensa y la energía, donde la seguridad de los componentes de software es crítica para la protección de la infraestructura.

Impacto y afectados

El impacto de esta campaña se ha extendido a 42 paquetes y 84 versiones dentro del ecosistema de TanStack, afectando a una amplia gama de desarrolladores y empresas que utilizan estos componentes. La puntuación CVSS de 9.6, la más alta posible, indica la gravedad crítica del ataque y la necesidad de tomar medidas inmediatas para mitigar el riesgo. Las empresas que utilizan los paquetes comprometidos se encuentran ahora en una posición vulnerable a ataques que podrían comprometer la seguridad de sus sistemas y datos. El ataque ha puesto de manifiesto la importancia de mantener actualizados los paquetes de software y de implementar medidas de seguridad para protegerse contra las amenazas de la cadena de suministro. El hecho de que los atacantes hayan logrado obtener validas attestaciones SLSA Build Level 3 en las versiones comprometidas, ha añadido una capa de complejidad al incidente, ya que permite a los atacantes presentar código malicioso como si fuera legítimo, lo que dificulta la detección y la respuesta.

La escala del problema es considerable, afectando a una red de desarrolladores y empresas que dependen de los paquetes de TanStack. Además, la capacidad de los atacantes para utilizar las validas attestaciones SLSA hace que la detección sea aún más difícil. Las consecuencias reales para las empresas incluyen la posible pérdida de datos confidenciales, interrupciones en el servicio y daños a la reputación. Los usuarios finales también pueden verse afectados si los paquetes comprometidos se utilizan en aplicaciones que manejan información personal o financiera. La amenaza representa un riesgo significativo para la ciberseguridad en el sector tecnológico, y exige una respuesta coordinada por parte de las empresas, los proveedores de software y las agencias gubernamentales.

Medidas de mitigación y recomendaciones

Ante esta situación, los usuarios afectados deben seguir una serie de pasos concretos para mitigar el riesgo. En primer lugar, es fundamental identificar y eliminar los paquetes comprometidos de los sistemas. Esto implica revisar cuidadosamente las dependencias del proyecto y reemplazar los paquetes afectados por versiones seguras. Además, es importante revisar y fortalecer las medidas de seguridad existentes, incluyendo la implementación de cortafuegos, sistemas de detección de intrusiones y políticas de acceso estrictas. Se recomienda habilitar la autenticación de dos factores (2FA) para todas las cuentas de desarrollo y utilizar herramientas de gestión de secretos para proteger las credenciales de acceso. Es crucial mantener actualizados los sistemas y software, aplicando los parches de seguridad más recientes para corregir las vulnerabilidades conocidas. Finalmente, se aconseja supervisar de cerca las actividades de red en busca de signos de actividad sospechosa y reportar cualquier incidente a las autoridades competentes.

Conclusión

La campaña Mini Shai-Hulud representa un hito significativo en el panorama de la ciberseguridad, evidenciando la creciente sofisticación de los actores maliciosos y la vulnerabilidad de las cadenas de suministro de software. La capacidad de los atacantes para utilizar técnicas como el "poisoning" de caché de GitHub Actions y la extracción de tokens de memoria en tiempo de ejecución, junto con el uso de validas attestaciones SLSA, pone de manifiesto la necesidad de adoptar un enfoque más proactivo y robusto para la seguridad del software. Las implicaciones a medio y largo plazo de este incidente son profundas, obligando a las empresas y a los desarrolladores a reconsiderar sus prácticas de seguridad y a invertir en medidas de protección más avanzadas. La amenaza también subraya la importancia de la colaboración entre la industria, los proveedores de software y las agencias gubernamentales para combatir las amenazas de la cadena de suministro de software. En definitiva, la campaña Mini Shai-Hulud es un llamado de atención que exige una transformación fundamental en la forma en que se desarrolla y se distribuye el software, priorizando la seguridad y la confianza en cada etapa del proceso.


Fuente original: The Hacker News

0 Comentarios