
Investigadores de ciberseguridad han revelado detalles de lo que parece ser una nueva cepa de Shai Huld en el registro npm, con algunos cambios desde la ola anterior observada el mes pasado.
El paquete npm que incorpora la nueva variedad Shai Hulud es ‘@vietmoney/react-big-calendar’ y fue subido a npm por un usuario llamado ‘hoquocdat’ en marzo de 2021. Se actualizó por primera vez a la versión 0.26.2 el 28 de diciembre de 2025. Este paquete se ha descargado 698 veces desde su publicación por primera vez. La última versión se ha descargado 197 veces.
Aikido, quien descubrió el paquete, dijo que no se ha confirmado ninguna propagación o infección importante desde que se lanzó el paquete.
«Esto sugiere que podemos haber atrapado al atacante probando la carga útil», dijo el investigador de seguridad Charlie Eriksen. «Las diferencias en el código sugieren que se volvió a ofuscar de la fuente original y no se modificó sobre la marcha. Por lo tanto, es muy poco probable que sea un imitador, sino que fue escrito por alguien con acceso al código fuente original del gusano».
El ataque Shai-Hulud se reveló por primera vez en septiembre de 2025, cuando se descubrió un paquete npm troyanizado que robaba datos confidenciales como claves API, credenciales de nube, tokens npm y GitHub, y extraía repositorios de GitHub utilizando los tokens robados. La segunda ola, descubierta en noviembre de 2025, contenía la descripción «Sha1-Hulud: The Second Coming» en el repositorio.

Sin embargo, el aspecto más importante de esta campaña es su capacidad para convertir los tokens npm en armas y ampliar el compromiso de su cadena de suministro en forma de gusano al adquirir los otros 100 paquetes más descargados asociados con ese desarrollador e introducir los mismos cambios maliciosos y enviarlos a npm.
Las nuevas cepas vienen con cambios notables.
El archivo inicial ahora se llama «bun_installer.js» y la carga principal ahora se llama «environment_source.js». El repositorio de GitHub donde se filtró el secreto tiene la descripción «Goldox-T3chs: Only Happy Girl». Los nombres de los archivos que contienen secretos son 3nvir0nm3nt.json, cl0vd.json, c9nt3nts.json, pigS3cr3ts.json y actionSecrets.json.
Otros cambios importantes incluyen un mejor manejo de errores cuando el escáner de credenciales de TruffleHog agota el tiempo de espera, mejoras en la publicación de paquetes basados en el sistema operativo y ajustes en el orden de recopilación y almacenamiento de datos.
El paquete falso Jackson JSON Maven lanza Cobalt Strike Beacon
Este desarrollo se produce después de que la empresa de seguridad de la cadena de suministro anunciara que había identificado un paquete malicioso (‘org.fasterxml.jackson.core/jackson-databind’) en Maven Central que se hace pasar por una extensión legítima de la biblioteca Jackson JSON (‘com.fasterxml.jackson.core’). Sin embargo, incorpora una cadena de ataque de varios pasos que ofrece ejecutables específicos de la plataforma. Luego se retiró el paquete.
El código altamente ofuscado reside dentro de un archivo Java (JAR) y se activa cuando un desarrollador desprevenido agrega una dependencia maliciosa al archivo ‘pom.xml’.
«Cuando se inicia una aplicación Spring Boot, Spring escanea la clase @Configuration y encuentra JacksonSpringAutoConfiguration», dice Eriksen. «La verificación @ConditionalOnClass({ApplicationRunner.class}) pasa (ApplicationRunner siempre está presente en Spring Boot), por lo que Spring registra la clase como un bean. El ApplicationRunner del malware se llama automáticamente después de que se carga el contexto de la aplicación; no se requiere una llamada explícita».
Luego, el malware busca un archivo llamado «.idea.pid» en el directorio de trabajo. La elección del nombre del archivo es intencional y está diseñada para combinarse con el archivo del proyecto IntelliJ IDEA. Si dicho archivo existe, le indica al malware que ya se está ejecutando una instancia de él mismo y sale silenciosamente.
En el siguiente paso, el malware procede a verificar el sistema operativo y se conecta a un servidor externo (‘m.fasterxml(.)org:51211’) para obtener una respuesta cifrada que contiene la URL de la carga útil que se descarga según el sistema operativo. La carga útil es una baliza Cobalt Strike, una herramienta de simulación de adversario legítima que puede usarse para ataques posteriores a la explotación y para comando y control.

Windows está configurado para descargar y ejecutar un archivo llamado «svchosts.exe» desde «103.127.243(.)82:8000», mientras que los sistemas Apple macOS descargan una carga útil llamada «update» desde el mismo servidor.
Un análisis más detallado reveló que el dominio tipográfico fastxml(.)org se registró a través de GoDaddy el 17 de diciembre de 2025, solo una semana antes de que se detectara el paquete malicioso Maven.
«Este ataque aprovechó un punto ciego particular en la convención de espacio de nombres de dominio inverso de Java: intercambios de prefijos de estilo TLD», dijo Eriksen. «La biblioteca Jackson legítima usa com.fasterxml.jackson.core, pero el paquete malicioso usa org.fasterxml.jackson.core».
Según Aikido, el problema se debe a la incapacidad de Maven Central para detectar paquetes falsificados que utilizan un prefijo similar al de paquetes legítimos para engañar a los desarrolladores para que los descarguen. También recomendamos que los administradores del repositorio de paquetes consideren mantener una lista de espacios de nombres de alto valor y paquetes temáticos publicados en espacios de nombres similares para realizar una validación adicional para garantizar que sean legítimos.
Source link
