Productos FTTH

Tienda FFTH desde 2004

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Atacantes usan paquetes npm de SAP para robar secretos de GitHub, la nube y herramientas de IA


Un nuevo ataque a la cadena de suministro está dirigiéndose al ecosistema de desarrolladores de SAP mediante paquetes npm envenenados. La campaña utiliza un gusano malicioso llamado “Mini Shai-Hulud”, que se ejecuta en silencio antes de que finalice cualquier instalación de npm y roba credenciales de máquinas de desarrolladores, plataformas en la nube y herramientas de codificación con IA. El ataque afectó a cuatro paquetes oficiales publicados por SAP: mbt, @cap-js/sqlite, @cap-js/postgres y otros.




Un nuevo ataque a la cadena de suministro está apuntando al ecosistema de desarrolladores de SAP a través de paquetes npm envenenados.

La campaña utiliza un gusano malicioso llamado “Mini Shai-Hulud”, que se ejecuta silenciosamente antes de que finalice cualquier instalación de npm y roba credenciales de las máquinas de los desarrolladores, plataformas en la nube y herramientas de codificación de IA.

El ataque afectó a cuatro paquetes publicados oficialmente por SAP: mbt, @cap-js/sqlite, @cap-js/postgres y @cap-js/db-service.

Cuando un desarrollador o un pipeline de CI ejecuta npm install en una versión comprometida, se activa un script de preinstalación oculto llamado setup.mjs antes de que termine la instalación.

Ese script descarga el entorno de ejecución de JavaScript Bun y ejecuta un payload ofuscado de 11,7 MB llamado execution.js, que lleva a cabo el robo de credenciales sin tocar Node.js en absoluto.

Los analistas de Endor Labs identificaron el malware como un descendiente directo del gusano Shai-Hulud original documentado en abril de 2025.

Los investigadores señalaron que Mini Shai-Hulud comparte el mismo bootstrap del runtime Bun v1.3.13, la misma familia de cifrado personalizada (ctf-scramble-v2) y la misma clave PBKDF2 (5012caa5847ae...) que la campaña anterior.

Estos marcadores compartidos confirman que el mismo actor de amenazas está ejecutando una nueva campaña contra el ecosistema de desarrolladores CAP y MTA de SAP, con una superficie de credenciales más estrecha y una palabra clave de propagación diferente.

Los cuatro paquetes se encuentran en los árboles de dependencias de aplicaciones basadas en CAP utilizadas ampliamente en SAP BTP. Cualquier desarrollador que haya instalado una versión comprometida en una máquina que contenga credenciales de la nube o tokens de GitHub debe tratar cada secreto en ese host como totalmente expuesto.

PaqueteVersión MaliciosaÚltima Versión Limpia
mbt1.2.481.2.47
@cap-js/sqlite2.2.22.2.1
@cap-js/postgres2.2.22.2.1
@cap-js/db-service2.10.12.10.0

Cómo el gusano recopila y exfiltra credenciales

El payload ejecuta cinco recolectores de credenciales en paralelo. El primero apunta a los tokens de npm escaneando los archivos npmrc en el directorio personal del usuario, la raíz del proyecto y las variables de entorno de CI.

Los tokens recopilados se validan contra la API del registro de npm para confirmar los derechos de publicación, ya que solo los tokens con capacidad de publicación permiten la replicación del gusano.

El segundo y tercer recolector rastrean credenciales de GitHub y de la nube. En hosts Linux, el payload lee /proc/{pid}/mem para extraer secretos en memoria de GitHub Actions.

También escanea archivos de credenciales de AWS, consulta GetCallerIdentity para el contexto de IAM, rastrea Google Cloud Secret Manager, lee archivos JSON de cuentas de servicio de Kubernetes y recopila credenciales de Azure Key Vault.

El cuarto recolector apunta a herramientas de codificación de IA. El payload revisa 136 rutas predefinidas para la configuración de Claude Code (project/.claude/settings.json) y archivos de tareas de VS Code (project/.vscode/tasks.json), junto con el estado de Cursor IDE, el historial de la shell, archivos .env y claves privadas SSH.

En entornos de CI, rastrea más de 25 plataformas, incluyendo Jenkins, Travis y Azure Pipelines.

RutaIndicador
project/.claude/execution.jsCopia de persistencia del payload de 11,6 MB
project/.claude/settings.jsonPresencia de hook SessionStart
project/.vscode/tasks.jsonActivador folderOpen apuntando a .claude/
project/.github/workflows/format-check.ymlFlujo de trabajo de exfiltración de credenciales inyectado

Todos los datos recopilados se cifran con AES-256-GCM y la clave se envuelve con la clave pública RSA-4096 del atacante antes de subirse a un repositorio de "punto muerto" (dead-drop) de GitHub creado desde la propia cuenta robada de la víctima.

Si instalaste cualquier versión comprometida, trata el evento como un compromiso total de credenciales. Desinstala cada paquete afectado y reinstala la versión limpia utilizando la bandera --ignore-scripts.

Busca en todos los proyectos de la máquina afectada archivos execution.js de más de 5 MB, archivos .claude/settings.json con un hook de SessionStart y cualquier flujo de trabajo format-check.yml que tu equipo no haya creado.

Revoca todos los secretos del host afectado, incluyendo tokens de publicación de npm, PATs de GitHub, claves IAM de AWS, credenciales de cuentas de servicio de Google Cloud, secretos de cliente de Azure, claves privadas SSH y todo el contenido de los archivos .env.

Para una defensa a largo plazo, limita el alcance de la publicación confiable OIDC de npm a un archivo de flujo de trabajo específico en una rama específica, no a todo el repositorio.

Aplica --ignore-scripts en las instalaciones de CI y revisa los hooks de ciclo de vida durante las auditorías de dependencias. La ventana de detección fue de aproximadamente dos horas, lo que significa que las eliminaciones reactivas no son una protección fiable por sí solas.



Fuentes:
https://cybersecuritynews.com/attackers-weaponize-sap-npm-packages/



0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.