Los ataques a la cadena de suministro de npm ya no son una amenaza teórica. Mayo de 2026 será recordado como el mes en que todo lo que podía salir mal, salió mal.
Primero fueron los paquetes de TanStack, luego Axios, después la campaña TrapDoor y los typosquatting detectados por Microsoft. Y ahora, RedHat.
La empresa de seguridad StepSecurity descubrió el 1 de junio que 31 paquetes del scope @redhat-cloud-services/ habían sido comprometidos con un malware de robo de credenciales extraordinariamente sofisticado. La noticia se reportó directamente en el repositorio oficial de RedHatInsights.
No es un ataque cualquiera
Lo que hace diferente a este ataque no es solo la cantidad de paquetes afectados. Es la forma en que opera. Los atacantes no robaron la cuenta de un mantenedor: comprometieron directamente el pipeline de GitHub Actions de RedHat, publicando las versiones maliciosas desde el repositorio oficial como si fueran actualizaciones legítimas.
Cada paquete infectado incluye un archivo index.js de 4.2 MB que se ejecuta automáticamente mediante un hook preinstall en cuanto alguien ejecuta npm install. No necesitas hacer nada más.
El simple hecho de instalar una dependencia desencadena toda la cadena de infección.
Cuatro capas de ofuscación y un runtime alternativo
El malware usa cuatro capas de ocultamiento: una codificación ROT-21, dos blobs cifrados con AES-128-GCM, una capa de obfuscator.io con un alfabeto base64 personalizado, y un cifrado propio llamado B5 que deriva claves con PBKDF2 y 200,000 iteraciones de SHA-256.
Pero lo más ingenioso viene después: el payload descarga el runtime Bun v1.3.13 (no Node.js) para ejecutar el implante principal, una técnica que evita las detecciones basadas en el comportamiento típico de Node.
El implante extrae secretos directamente de la memoria del proceso Runner.Worker de GitHub Actions, incluyendo tokens marcados como secretos que nunca deberían salir del entorno de CI.
Un worm que se replica solo y ataca tus herramientas de desarrollo
El alcance del robo es masivo: el payload busca credenciales de AWS, GCP, Azure, Kubernetes, HashiCorp Vault, npm, PyPI, SSH, Docker y GPG, además de archivos .env en todo el sistema de archivos. Pero no se detiene ahí.
Con los tokens npm robados, el malware intenta publicar nuevas versiones backdoored de los paquetes a los que la víctima tenga acceso, usando el parámetro bypass_2fa para evadir la autenticación de dos factores. Es un worm autónomo: una sola máquina infectada puede sembrar la siguiente oleada de paquetes comprometidos sin intervención del atacante.
Además, instala persistencia en dos lugares que ningún desarrollador esperaría: el archivo de configuración de Claude Code (~/.claude/settings.json) y las tareas de VS Code (.vscode/tasks.json). Cada vez que el desarrollador abre su editor o inicia una sesión con Claude Code, el código malicioso se ejecuta de nuevo, incluso si el paquete original ya fue eliminado.
Qué hacer si usas paquetes de RedHat Cloud Services
Los paquetes más descargados afectados incluyen @redhat-cloud-services/types (15,000 descargas semanales), @redhat-cloud-services/frontend-components-utilities (14,000) y @redhat-cloud-services/frontend-components (13,700). Si tu equipo usa alguno de estos:
- Verifica las versiones instaladas contra la lista de versiones maliciosas publicada por StepSecurity
- Rota todas las credenciales que hayan estado expuestas en máquinas donde se instalaron estos paquetes
- Revisa tus repositorios en busca de activity sospechosa (pushes, tags, releases no autorizados)
- Elimina los archivos de persistencia:
~/.claude/settings.jsony.vscode/tasks.json
El equipo de RedHat está trabajando con StepSecurity para coordinar la eliminación de las versiones maliciosas. Mayo de 2026 cierra con un récord que nadie quería: el mayor volumen de ataques a la cadena de suministro de npm en la historia.
Fuentes:


