- Investigadores de ciberseguridad están dando la voz de alarma sobre una nueva campaña de ataques a la cadena de suministro dirigida a paquetes npm relacionados con SAP mediante malware que roba credenciales.
Según informes de Aikido Security , Onapsis , OX Security , SafeDep , Socket , StepSecurity y Wiz (propiedad de Google ), la campaña, que se autodenomina Mini Shai-Hulud , ha afectado a los siguientes paquetes asociados con el ecosistema de desarrollo de aplicaciones en la nube y JavaScript de SAP:
- mbt@1.2.48
- @cap-js/db-service@2.10.1
- @cap-js/postgres@2.2.2
- @cap-js/sqlite@2.2.2
«Las versiones afectadas introdujeron un nuevo comportamiento durante la instalación que no formaba parte de la funcionalidad prevista de estos paquetes», declaró Socket. «Las versiones comprometidas añadieron un script de preinstalación que actúa como un arrancador en tiempo de ejecución, descargando un archivo ZIP Bun específico de la plataforma desde GitHub Releases, extrayéndolo e inmediatamente ejecutando el binario Bun extraído».
«La implementación también sigue las redirecciones HTTP sin validar el destino y utiliza PowerShell con -ExecutionPolicy Bypass en Windows, lo que aumenta el riesgo para los entornos de desarrollo y CI/CD afectados.»
Wiz señaló que los paquetes maliciosos coinciden con varias características presentes en operaciones anteriores de TeamPCP , lo que indica que es probable que el mismo actor de amenazas esté detrás de la última campaña.
Las versiones sospechosas se publicaron el 29 de abril de 2026, entre las 09:55 UTC y las 12:14 UTC. Los paquetes infectados introducen un nuevo gancho de preinstalación en package.json que ejecuta un archivo llamado «setup.mjs», el cual actúa como cargador para que el entorno de ejecución de JavaScript Bun ejecute el marco de propagación y robo de credenciales («execution.js»).
Según Aikido, el malware está diseñado para robar credenciales de desarrolladores locales, tokens de GitHub y npm, secretos de GitHub Actions y secretos en la nube de AWS, Azure, GCP y Kubernetes. Los datos robados se cifran y se extraen a repositorios públicos de GitHub creados en la cuenta de la víctima con la descripción «Ha aparecido un Mini Shai-Hulud». Al momento de escribir este artículo, existen más de 1100 repositorios con descripciones.
Además, la carga útil de 11,6 MB tiene la capacidad de autopropagarse a través de los flujos de trabajo de desarrollo y lanzamiento, utilizando específicamente los tokens de GitHub y npm para inyectar un flujo de trabajo malicioso de GitHub Actions en los repositorios de la víctima, robar secretos del repositorio y publicar versiones envenenadas de los paquetes npm en el registro.
Sin embargo, el último incidente presenta diferencias significativas con respecto a las oleadas anteriores de Shai-Hulud .
- Todos los datos exfiltrados están cifrados con AES-256-GCM y encapsulan la clave mediante RSA-4096 con una clave pública incrustada en la carga útil, lo que en la práctica hace que solo el atacante pueda descifrarlos.
- Está disponible en sistemas con configuración regional rusa.
- La carga útil se inserta en todos los repositorios de GitHub accesibles mediante la inyección de un archivo «.claude/settings.json» que abusa del gancho SessionStart de Claude Code y un archivo «.vscode/tasks.json» con la configuración «runOn»: «folderOpen» de modo que cualquier intento de abrir el repositorio infectado en Microsoft Visual Studio Code (VS Code) o Claude Code provoque la ejecución del malware.
«Este es uno de los primeros ataques a la cadena de suministro que tiene como objetivo las configuraciones de los agentes de codificación de IA como vector de persistencia y propagación», dijo StepSecurity.
Wiz también señaló que la comprobación de la configuración regional rusa se detectó en las recientes vulneraciones de Checkmarx y Bitwarden, y añadió que el ataque utiliza una clave pública RSA compartida vinculada a TeamPCP que se utiliza para cifrar los secretos exfiltrados.
«La operación SAP añade la capacidad de robar credenciales de múltiples navegadores (Chrome, Safari, Edge, Brave, Chromium) y extraer cualquier contraseña que se encuentre en ellos», señalaron los investigadores de Wiz. «Esta función no estaba presente en ninguna de las operaciones anteriores. La extracción de credenciales a través de GitHub a repositorios con temática de Dune era el método de comando y control alternativo para la operación de la CLI de Bitwarden, pero ahora es la opción principal».
Un análisis más detallado de la causa raíz reveló que los atacantes comprometieron la cuenta de RoshniNaveenaS para los tres paquetes «@cap-js», luego enviaron un flujo de trabajo modificado a una rama secundaria y usaron el token OIDC de npm extraído para publicar los paquetes maliciosos sin información de procedencia. En cuanto a mbt, se sospecha que el problema radica en el compromiso del token estático de npm «cloudmtabot» a través de un canal aún no determinado.
«El equipo de cds-dbs migró a la publicación de confianza de npm OIDC en noviembre de 2025», declaró SafeDep. «Con esta configuración, GitHub Actions puede solicitar un token npm de corta duración sin almacenar secretos de larga duración en el repositorio. El atacante reprodujo este intercambio manualmente en un paso de CI e imprimió el token resultante».
«La brecha de configuración crítica: la configuración de publicador de confianza OIDC de npm para @cap-js/sqlite confiaba en cualquier flujo de trabajo en cap-js/cds-dbs, no solo en el archivo canónico release-please.yml en main. Un push de rama podría intercambiar un token OIDC en nombre del paquete si el flujo de trabajo tenía el permiso de escritura id-token: y la referencia environment: npm.»
En respuesta al incidente, los responsables del mantenimiento de los paquetes han publicado nuevas versiones seguras que reemplazan las versiones comprometidas.
- SQLite: v2.4.0 , v2.3.0
- PostgreSQL: v2.3.0 , v2.2.2
- hana: v2.8.0 , v2.7.2
- Servicio de base de datos: v2.10.1
- mbt: v1.2.49
«Esta campaña demuestra una vez más cómo GitHub se está convirtiendo en la infraestructura de comando y control preferida para la exfiltración de datos», afirmaron los investigadores de OX Security, Moshe Siman Tov Bustan y Nir Zadok. «Bloquear github.com no es una opción realista para la mayoría de los equipos de desarrollo, y rastrear la exfiltración hasta el dominio de un actor de amenazas específico se vuelve prácticamente imposible cuando GitHub es el mecanismo de distribución».

























