Ataque a la cadena de suministro de Miasma
Una nueva campaña de ataque a la cadena de suministro de software, denominada Miasma, ha comprometido varios paquetes npm de @redhat-cloud-services. La operación está diseñada para robar credenciales e información confidencial de los entornos de desarrollo, al tiempo que despliega un gusano autopropagante capaz de extenderse por los ecosistemas de desarrollo de software.
La campaña reproduce fielmente las tácticas asociadas anteriormente con Mini Shai-Hulud , aprovechando la ejecución en tiempo de instalación, el robo de credenciales, la vulneración de CI/CD, la exfiltración de datos cifrados y mecanismos que permiten la propagación descendente.
Tabla de contenido
La atribución sigue siendo incierta.
Aún no se ha identificado de forma concluyente al responsable de Miasma. La atribución se complica por el hecho de que TeamPCP, también conocido como Replicating Marauder, TGR-CRI-1135 y UNC6780, publicó previamente las herramientas de ataque asociadas al gusano Shai-Hulud como proyectos de código abierto. Esto ha permitido a otros grupos ciberdelincuentes replicar técnicas similares, lo que dificulta considerablemente la atribución definitiva.
Paquetes npm comprometidos
Se han identificado los siguientes paquetes npm como afectados:
@redhat-cloud-services/vulnerabilities-client
@redhat-cloud-services/tsc-transform-imports
@redhat-cloud-services/topological-inventory-client
@redhat-cloud-services/sources-client
@redhat-cloud-services/rule-components
@redhat-cloud-services/remediations-client
@redhat-cloud-services/rbac-client
Obtención de credenciales mediante lógica de instalación ofuscada
Investigadores de seguridad descubrieron que los paquetes maliciosos contienen un gancho de preinstalación ofuscado diseñado para ejecutarse automáticamente durante la instalación. El malware ataca una amplia gama de activos sensibles, incluyendo secretos de GitHub Actions, tokens de autenticación de npm, credenciales en la nube, secretos de Kubernetes y HashiCorp Vault, claves SSH, credenciales de Git y otros archivos confidenciales almacenados en sistemas comprometidos.
Como se observó en campañas anteriores de Mini Shai-Hulud, el malware incorpora rutinas de exfiltración cifradas. La información robada se transmite a api.anthropic.com:443/v1/api, mientras que GitHub funciona como un canal de exfiltración alternativo. Esta estrategia de doble propósito demuestra un esfuerzo no solo por robar credenciales, sino también por utilizarlas como arma para comprometer aún más la cadena de suministro de software.
Los paquetes de datos cifrados se envían a través de la API de GitHub, y los mensajes de confirmación pueden contener la cadena:
'Si invalidas este token, borrarás el ordenador del propietario:'
Técnicas de sigilo y mecanismos de propagación
El malware incluye varias medidas destinadas a maximizar su persistencia, evadir la detección y ampliar el acceso. Una característica destacable es la evitación deliberada de la ejecución en sistemas en ruso, un comportamiento observado previamente en las campañas de la cadena de suministro de GlassWorm.
En entornos npm, el código malicioso interactúa con los puntos finales de intercambio de tokens OIDC y whoami, reempaqueta los archivos de software en archivos tar actualizados y firma los artefactos modificados mediante Sigstore. Posteriormente, las credenciales robadas se filtran a repositorios públicos de GitHub controlados por el atacante, que llevan la descripción "Miasma: The Spreading Blight".
Los investigadores identificaron la primera confirmación conocida que contenía esta descripción el 29 de mayo de 2026, lo que sugiere el comienzo de las operaciones activas o una fase de pruebas inicial en torno a esa fecha.
En entornos de GitHub, el malware enumera los repositorios accesibles mediante tokens comprometidos, analiza las definiciones de flujo de trabajo a través de consultas GraphQL e inyecta flujos de trabajo maliciosos utilizando la mutación createCommitOnBranch. Este método permite que los cambios maliciosos aparezcan como confirmaciones verificadas y firmadas criptográficamente.
Funcionalidades avanzadas de persistencia y escalada de privilegios
El análisis reveló varias capacidades adicionales integradas en el malware:
Se intenta escalar privilegios mediante el lanzamiento de contenedores que montan el directorio /etc/sudoers.d del host y otorgan acceso sudo sin contraseña a los ejecutores de CI.
Detección de soluciones de seguridad para endpoints, como CrowdStrike, SentinelOne, Carbon Black y StepSecurity Harden-Runner, antes de iniciar cualquier actividad maliciosa.
Mecanismos de persistencia que inyectan un gancho SessionStart en Anthropic Claude Code y crean archivos tasks.json maliciosos configurados con 'runOn': 'folderOpen' para proyectos de Microsoft Visual Studio Code, lo que garantiza su ejecución durante futuras sesiones de desarrollo.
Mayor atención a la vulneración de la identidad en la nube
Una evolución importante en la variante Miasma es su mayor enfoque en la recopilación de identidades en la nube. Los nuevos módulos dirigidos a los entornos de Google Cloud Platform (GCP) y Microsoft Azure recopilan información sobre todas las identidades en la nube accesibles desde una máquina infectada.
Las variantes anteriores se centraban principalmente en extraer secretos de entornos en la nube. La incorporación de recolectores centrados en la identidad indica un cambio estratégico hacia la obtención de acceso directo a la nube y la explotación de identidades privilegiadas dentro de las infraestructuras en la nube.
Para complicar aún más los esfuerzos de detección, cada infección genera una carga útil cifrada de forma única. Esta personalización dificulta considerablemente la detección basada en firmas, el seguimiento del malware y la correlación de versiones entre incidentes.
Compromiso inicial e infiltración en la cadena de suministro
Las pruebas disponibles sugieren que la campaña se originó mediante la vulneración de la cuenta de GitHub de un empleado de Red Hat. Los investigadores creen que dicha cuenta sirvió como punto de infección inicial, lo que permitió a los atacantes inyectar código malicioso en los paquetes afectados.
Según los informes, la cuenta comprometida introdujo confirmaciones huérfanas maliciosas en dos repositorios de Red Hat Insights, eludiendo los procedimientos establecidos de revisión de código e introduciendo la carga útil maliciosa en la cadena de suministro de software.
Guía para la respuesta y la remediación de incidentes
Las organizaciones que hayan instalado versiones de paquetes afectadas deben aislar inmediatamente los sistemas impactados, eliminar los paquetes maliciosos, rotar todas las credenciales potencialmente expuestas, investigar la actividad de GitHub y npm en busca de indicios de acceso no autorizado y revisar los entornos en busca de mecanismos de persistencia. Se debe prestar especial atención a las modificaciones no autorizadas que involucren:
~/.claude/settings.json, .vscode/tasks.json, .github/workflows/codeql.yml y .github/setup.js.
También deben aplicarse estrictos controles de acceso en todos los entornos de desarrollo y en la nube.
Debido a que el malware establece capacidades de ejecución en segundo plano y persistencia dentro de las herramientas de desarrollo, simplemente desinstalar los paquetes npm afectados o eliminar el directorio node_modules no debe considerarse una solución suficiente.
En entornos de CI/CD, las ejecuciones de flujos de trabajo afectadas deben suspenderse de inmediato. Las organizaciones deben invalidar los artefactos de compilación creados durante el período de exposición y revisar minuciosamente si se generaron versiones, imágenes de contenedores, paquetes npm, artefactos de implementación u otros componentes de software después de que el paquete malicioso se introdujera en el entorno.