Múltiples ataques a la cadena de suministro de software han afectado al ecosistema npm, y los actores de amenazas utilizan versiones maliciosas y envenenadas de más de 50 paquetes legítimos para distribuir un ladrón de información basado en Rust y un gusano que se propaga automáticamente, respectivamente.
De acuerdo a JFrogel ladrón de información «elimina todos los secretos que puede encontrar en la máquina de un desarrollador, se esconde detrás de un rootkit del núcleo eBPF y responde a su operador a través de Tor».
El ladrón también utiliza las credenciales robadas como mecanismo de propagación, generando similitudes con el infame gusano Shai-Hulud. El nuevo malware tiene un nombre en clave gusano de hierro por la empresa de seguridad de la cadena de suministro de software. Al publicarse en el registro npm en forma de paquetes troyanizados, este enfoque resulta en un ataque autorreplicante.
La actividad maliciosa se remonta a una cuenta npm comprometida llamada «asteroide«, que se ha descubierto que publica versiones de paquetes que contienen el binario Rust ELF que se ejecuta a través de un gancho de preinstalación.
El malware se dirige a 86 variables de entorno, varios archivos que pueden contener credenciales asociadas con OpenAI Codex, Anthropic, Claude, Google Gemini, Cursor, Amazon Web Services (AWS), Docker, Kubernetes y npm, configuraciones de bóveda y archivos de billetera de criptomonedas Exodus.
Una peculiaridad inusual que vale la pena mencionar aquí es que el ladrón incluye una lógica para que el componente de robo de datos de la billetera omita la billetera del propio actor de la amenaza. Al momento de escribir, el billetera de criptomonedas está vacío y no se han registrado transacciones.
JFrog describió a IronWorm como «un arma de cadena de suministro creada para encontrar secretos, modificar proyectos e inyectar código malicioso para autopropagarse en GitHub». Las confirmaciones maliciosas, que abarcan nueve organizaciones de GitHub, se introdujeron bajo el nombre del autor «claude» («claude@users.noreply.github.com») en un intento de imitar el chatbot de inteligencia artificial (IA) de Anthropic.
«El paquete malicioso npm fue publicado por asteroiddao; asteroiddao corresponde a la organización asteroid-dao GitHub; y ocrybit es miembro de esa organización, así como de organizaciones Arweave relacionadas», explicó la compañía.
«El malware robó las credenciales de ocrybit y las usó para enviar confirmaciones a través de repositorios a los que podía acceder. Esas confirmaciones colocaron malware en otros paquetes, que luego podrían publicarse e infectar al siguiente desarrollador. Y luego desapareció».
Es más, la carga útil maliciosa está equipada para intercambiar los flujos de trabajo de GitHub Actions existentes por uno que sea capaz de recolectar los secretos, escribirlos en un archivo de apariencia inofensiva y cargarlo como un artefacto de compilación, eliminando así la necesidad de un servidor externo de comando y control (C2).
Las capacidades del malware no terminan ahí. En entornos de CI, abusa del flujo de publicación confiable de npm para obtener tokens de corta duración para enviar versiones envenenadas que contienen el malware al registro.
También incorpora una carga útil eBPF que funciona como un rootkit a nivel de kernel para ocultar procesos y frustrar análisis. Sin embargo, en los sistemas donde el bloqueo del kernel está habilitado, los trucos para ocultar procesos fallan y los supuestos procesos y sockets vuelven a ser visibles.
El gusano miasma emerge nuevamente
La revelación surge como Laboratorios Endor y PasoSeguridad arrojar luz sobre una distinta campaña de ataque a la cadena de suministro que ha comprometido 57 paquetes npm en más de 286 versiones maliciosas para servir una nueva variante del gusano Miasma, que previamente infectó 32 paquetes en más de 90 versiones bajo el espacio de nombres npm @redhat-cloud-services en 72 segundos a principios de esta semana.
Algunos de los paquetes afectados se enumeran a continuación:
- ai-sdk-ollama
- autotel
- esperando
- analizador de efectos
- complemento-eslint-esperando
- historias-ejecutables-ciprés
- http-uploader-dev
- montado
- nodo-env-resolver
- nodo-env-resolver-aws
Los datos robados a través del malware se filtran a una cuenta de GitHub ahora inaccesible «liuende501«, que actuó como un punto de exfiltración. Se almacenaron hasta 236 repositorios en la cuenta. Actualmente no se sabe si GitHub eliminó la cuenta o si el propio actor de la amenaza la eliminó.
«Esta ola utiliza una técnica que llamamos 'Phantom Gyp': en lugar de los scripts de ciclo de vida previos o posteriores a la instalación que las herramientas de seguridad normalmente monitorean, el atacante abusa de un archivo vinculante.gyp de 157 bytes para activar la ejecución del código durante la instalación de npm, evitando por completo la mayoría de los controles de seguridad de los scripts de instalación», dijo el investigador de StepSecurity, Sai Likhith.
Como en el caso de Miasmala cadena de ataque está diseñada para descargar e instalar el tiempo de ejecución de Bun JavaScript, usándolo para cargar un recolector de credenciales integral diseñado para extraer secretos de AWS, Google Cloud, Microsoft Azure, HashiCorp Vault, Docker, Kubernetes, GitHub Actions, npm, RubyGems, PyPI, SSH, administradores de contraseñas y asistentes de IA.
«La capacidad más novedosa y preocupante de esta variante es su objetivo en configuraciones de asistente de codificación de IA», dijo la compañía. «El malware inyecta archivos persistentes de puerta trasera en repositorios de proyectos que se ejecutan cada vez que un desarrollador abre el proyecto en su IDE asistido por IA».
Se recomienda a los desarrolladores que hayan instalado una versión afectada que roten las credenciales, desactiven los scripts de instalación y las reconstrucciones nativas de forma predeterminada y se aseguren de que los paquetes estén fijados con hashes de integridad.
En una actualización compartida esta semana, Red Hat reveló que la causa principal detrás del incidente de la cadena de suministro de Miasma fue probablemente una cuenta de GitHub comprometida que se utilizó para enviar confirmaciones no autorizadas a los repositorios de la organización RedHatInsights GitHub.
«La carga útil operaba en Linux, macOS y Windows descargando dinámicamente el tiempo de ejecución de Bun correcto para cada plataforma, aunque los ejecutores de CI/CD de Linux parecían ser el objetivo principal», explicó Microsoft. dicho de la campaña.
«En los sistemas de desarrollo, el malware robó claves Secure Shell (SSH), credenciales de interfaz de línea de comandos (CLI), datos del navegador y de la billetera, mientras que en entornos CI/CD extrajo la memoria del ejecutor de GitHub Actions en busca de secretos, escaló privilegios usando sudo sin contraseña y volvió a publicar paquetes envenenados con niveles de cadena de suministro falsificados para artefactos de software (SLSA) para continuar con la propagación descendente».
Se considera que la carga útil Miasma es un derivado del gusano Shai-Hulud utilizado por EquipoPCP en campañas recientes, introduciendo cambios en gran medida «cosméticos» manteniendo similar la funcionalidad subyacente. A pesar de la superposición en el oficio, la atribución del último conjunto de ataques sigue sin estar clara, dado que TeamPCP ha publicado públicamente el código Shai-Hulud.
Desde entonces, OX Security ha descubierto etapas adicionales en la cadena de ataque de Miasma, incluidas búsquedas de confirmaciones de GitHub que contienen la cadena «firedalazer» (que reemplaza el punto muerto «FIRESCALE» previamente marcado) para recuperar otra carga útil, un archivo JavaScript («index.js») que contiene una versión alternativa del gusano Shai-Hulud, transformando efectivamente la infección en un bucle perpetuo.
En este caso, los datos robados se filtran a repositorios públicos de GitHub, cada uno con la descripción «Miasma: The Spreading Blight» o «Miasma – The Spreading Blight». Es importante señalar aquí que la versión anterior dice «Miasma: The Spreading Blight», que no tiene un espacio entre Miasma y el símbolo «:». Hay actualmente 82 repositorios de este tipo creado en las cuentas de usuario «0tabek16» y «windy629».
«El actor de amenazas puede cambiar dinámicamente las confirmaciones de 'firedalazer' en GitHub, haciendo que las nuevas versiones del malware sean más adaptables y más sofisticadas», afirman los investigadores de seguridad Moshe Siman Tov Bustan y Nir Zadok. dicho.
«Esto convierte a GitHub en algo más peligroso que un punto muerto. Es un C2 adaptable, uno que se apoya en una plataforma confiable y ampliamente incluida en la lista blanca, haciendo que la detección a nivel de red sea casi inútil. La mayoría de las herramientas de seguridad no están configuradas para tratar el tráfico de GitHub como sospechoso. El actor de la amenaza lo sabe».






