Ataque JavaScript roba claves de cloud y cripto

Un atacante publicó el pasado 11 de mayo un total de 84 versiones maliciosas en 42 paquetes de TanStack, una suite de librerías de código abierto ampliamente utilizada en desarrollo web. El hacker inyectó estos paquetes en npm, el principal registro de paquetes de JavaScript, según el <u>postmortem</u> publicado por Tanner Linsley, mantenedor de TanStack.

El equipo del proyecto ha marcado las versiones comprometidas como inseguras y ha notificado a npm security para su retirada del registro.

Objetivo del malware y riesgos

El malware estaba diseñado para exfiltrar información sensible de los desarrolladores, incluyendo:

  • Credenciales de servicios de infraestructura en la nube como Amazon Web Services (AWS) y Google Cloud Platform (GCP).
  • Tokens de plataformas de desarrollo como GitHub.
  • Contenido del archivo .npmrc, donde se almacenan las credenciales de publicación.

Aunque el reporte no menciona específicamente wallets de criptomonedas, advierte que si alguno de los entornos afectados almacenaba claves privadas de wallets de desarrolladores, estas también podrían haber sido comprometidas. El sistema recolectaba cualquier credencial accesible.

El equipo de TanStack recomienda encarecidamente a quienes instalaron cualquier paquete entre las 19:20 y las 19:30 UTC del 11 de mayo rotar inmediatamente todas sus credenciales y auditar los registros de actividad en sus entornos en la nube.

Mecanismo de infección

El código malicioso se activaba de forma automática cuando un desarrollador ejecutaba comandos de instalación estándar como npm install, pnpm install o yarn install, sin necesidad de ninguna acción adicional.

Una vez activo, el malware exfiltraba los datos recolectados a través de la red encriptada de Session Messenger. Este método impide bloquear la transmisión mediante direcciones IP o dominios conocidos.

Ataque a la cadena de suministro (Supply Chain)

El atacante no robó credenciales del registro npm. En su lugar, encadenó tres vulnerabilidades conocidas de GitHub Actions, la plataforma de automatización que utiliza TanStack, para atacar la cadena de suministro:

  1. Engaño: El atacante abrió una solicitud de extracción (Pull Request o PR) falsa en el repositorio de TanStack.
  2. Caché envenenada: Este PR activó un flujo de trabajo con el patrón pull_request_target, permitiendo escribir datos maliciosos en la caché de GitHub Actions bajo una clave que el flujo de publicación legítimo consultaría más tarde.
  3. Extracción de token: Cuando TanStack incorporó un PR real al código principal horas después, el flujo de publicación restauró la caché comprometida. El código del atacante extrajo de la memoria el token OIDC (una credencial de corta duración para autorizar publicaciones en npm) y lo utilizó para publicar los 84 paquetes maliciosos.

Finalmente, el equipo señaló que las tres vulnerabilidades eran públicas y que carecían de monitoreo propio sobre sus publicaciones en npm. La detección fue externa, realizada por el investigador carlini, de la firma de seguridad StepSecurity, aproximadamente 20 minutos después de la publicación maliciosa.

Comparte esta noticia, elige tu plataforma!

Leave A Comment