-
El malware se activaba al instalar una versiรณn afectada y extraรญa claves de AWS, Google y GitHub.
-
El equipo de TanStack marcรณ las versiones comprometidas como inseguras.
Un atacante publicรณ este 11 de mayo 84 versiones maliciosas en 42 paquetes de TanStack, una suite de librerรญas de cรณdigo abierto ampliamente usada en desarrollo web. El hacker las inyectรณ en npm, el principal registro de paquetes de JavaScript, segรบn el postmortem de Tanner Linsley, mantenedor de TanStack, quien ademรกs advirtiรณ que su equipo marcรณ las versiones comprometidas como inseguras y notificรณ a npm security para retirarlas del registro.
El malware apuntaba a credenciales de servicios de infraestructura en la nube de desarrolladores como Amazon Web Services (AWS) y Google Cloud Platform (GCP), claves de acceso a servidores, tokens de plataformas de desarrollo como GitHub y el contenido del archivo ‘.npmrc’, donde los desarrolladores almacenan sus credenciales de publicaciรณn en npm.
Si alguno de los entornos afectados almacenaba ademรกs claves privadas de wallets de criptomonedas de desarrolladores, esas tambiรฉn podrรญan haberse visto comprometidas. El postmortem no menciona wallets de forma especรญfica, pero el malware estaba diseรฑado para recolectar cualquier credencial accesible en el sistema infectado.
El equipo de TanStack recomienda a quienes hayan instalado cualquier paquete entre las 19:20 y las 19:30 UTC del 11 de mayo rotar de inmediato todas esas credenciales y auditar los registros de actividad en sus entornos en la nube.
El cรณdigo malicioso se activaba automรกticamente cuando un desarrollador instalaba cualquier versiรณn afectada (‘npm install, pnpm install o yarn install’), sin requerir ninguna acciรณn adicional. Una vez activo, exfiltraba las credenciales recolectadas a travรฉs de la red encriptada de Session Messenger, lo que impide bloquear la transmisiรณn por direcciรณn IP o dominio conocido, segรบn el postmortem de TanStack.
ยฟCรณmo operรณ el ataque de las versiones maliciosas de TanStack?
El atacante no robรณ credenciales del registro JavaScript npm. Conforme al postmortem de Linsley, encadenรณ tres vulnerabilidades conocidas de GitHub Actions (la plataforma de automatizaciรณn de tareas de desarrollo que usa TanStack) para publicar las versiones maliciosas directamente desde la infraestructura legรญtima del proyecto, atancando asรญ a la cadena de suministros.
Para operar, primero el atacante abriรณ un PR (pull request, una solicitud para incorporar cambios al cรณdigo) falso en el repositorio de TanStack. Este PR activรณ un flujo de trabajo configurado con el patrรณn ‘pull_request_target’, que permite ejecutar cรณdigo de repositorios externos con los permisos del repositorio principal.
El cรณdigo malicioso del PR aprovechรณ eso para escribir datos en la cachรฉ de GitHub Actions (el espacio de almacenamiento temporal que los flujos de trabajo usan para reutilizar dependencias entre ejecuciones) bajo una clave que el flujo de publicaciรณn legรญtimo consultarรญa mรกs tarde.
Cuando TanStack incorporรณ un PR real al cรณdigo principal horas despuรฉs, el flujo de publicaciรณn restaurรณ la cachรฉ envenenada, ejecutรณ el cรณdigo del atacante y este extrajo desde la memoria del proceso el token OIDC (una credencial de corta duraciรณn que GitHub emite para autorizar publicaciones en npm) y lo usรณ para publicar las 84 versiones maliciosas directamente en el registro.
Finalmente, el equipo seรฑala en el postmortem que las tres vulnerabilidades encadenadas eran pรบblicamente conocidas y que no tenรญa monitoreo propio sobre sus publicaciones en npm. La detecciรณn fue externa: el investigador carlini, de la firma de seguridad StepSecurity, abriรณ un reporte con anรกlisis tรฉcnico completo aproximadamente 20 minutos despuรฉs de la publicaciรณn maliciosa.








