Home / Tecnologia / Ataque a cadena de suministro afecta paquetes de software con 2 mil millones de descargas

Ataque a cadena de suministro afecta paquetes de software con 2 mil millones de descargas

Hackers introdujeron código malicioso en paquetes de software de código abierto que superan los 2 mil millones de actualizaciones semanales, en lo que probablemente sea el mayor ataque de cadena de suministro del mundo.

El ataque, que comprometió casi una veintena de paquetes alojados en el repositorio npm, fue dado a conocer el lunes a través de publicaciones en redes sociales. Casi al mismo tiempo, Josh Junon, un mantenedor o co-mantenedor de los paquetes afectados, informó que había sido “hackeado” tras caer en un correo electrónico que afirmaba que su cuenta en la plataforma sería cerrada a menos que iniciara sesión en un sitio y actualizara sus credenciales de autenticación de dos factores.

Superando la autenticación de dos factores fácilmente

“Lo siento a todos, debería haber prestado más atención”, escribió Junon, conocido como Qix. “No es típico de mí; he tenido una semana estresante. Trabajaré para solucionar esto.”

Ataque a cadena de suministro afecta paquetes de software con 2 mil millones de descargas
*Imagen referencial generada por IA.

Los atacantes, cuyo paradero es desconocido, no perdieron tiempo en capitalizar la situación. En menos de una hora, decenas de paquetes de código abierto que Junon supervisa recibieron actualizaciones que añadieron código malicioso para transferir pagos de criptomonedas a billeteras controladas por los atacantes. Con más de 280 líneas de código, la adición funcionaba monitoreando sistemas infectados para transacciones de criptomonedas y encadenando las direcciones de las billeteras que recibían pagos a las controladas por el atacante.

Los paquetes comprometidos, que hasta el momento suman 20, incluyen algunos de los códigos más fundamentales que impulsan el ecosistema de JavaScript. Se utilizan directamente y también tienen miles de dependencias, es decir, otros paquetes npm que no funcionan a menos que también estén instalados. (npm es el repositorio oficial de archivos de JavaScript.)

“La superposición con proyectos de tan alto perfil aumenta significativamente el alcance de este incidente”, afirmaron investigadores de la firma de seguridad Socket. “Al comprometer a Qix, los atacantes obtuvieron la capacidad de impulsar versiones maliciosas de paquetes de los que dependen innumerables aplicaciones, bibliotecas y frameworks.”

Los investigadores añadieron: “Dada la magnitud y la selección de paquetes afectados, parece ser un ataque dirigido diseñado para maximizar el alcance en todo el ecosistema.”

El mensaje de correo electrónico en el que Junon cayó provino de una dirección en support.npmjs.help, un dominio creado tres días antes para imitar el oficial npmjs.com utilizado por npm. Decía que la cuenta de Junon sería cerrada a menos que actualizara información relacionada con su autenticación de dos factores, que requiere que los usuarios presenten una clave de seguridad física o proporcionen un código de un solo uso proporcionado por una aplicación de autenticación además de una contraseña al iniciar sesión.

Según un análisis de la firma de seguridad Akido, el código malicioso se inyecta en el navegador web de los sistemas infectados y comienza a monitorear transferencias que involucren ethereum, bitcoin, solana, tron, litecoin y bitcoin cash. Cuando se detectan tales transacciones, los paquetes infectados reemplazarían las billeteras de destino con direcciones controladas por los atacantes. El malware funcionaba al enganchar funciones de JavaScript, incluyendo fetch, XMLHttpRequest y APIs de billeteras. El enganche permite que el código controle funciones para que puedan ser detenidas o alteradas en ciertos puntos de ejecución.

La noticia del ataque a los repositorios npm se produjo mientras otros dos ataques de cadena de suministro apuntaban a otros repositorios influyentes en el ecosistema de software de código abierto. Uno, divulgado el viernes por la firma GitGuardians, comprometió 3,325 secretos de autenticación para cuentas en PyPI, npm, DockerHUB, GitHub, Cloudflare y Amazon Web Services. En total, 327 usuarios de GitHub en 817 repositorios se vieron afectados.

En el ataque, las cuentas de mantenedores comprometidas impulsaron actualizaciones de paquetes que añadieron flujos de trabajo maliciosos de GitHub Actions que extraían tokens y otros tipos de secretos de autenticación. Hasta el viernes, GitGuardian informó que nueve paquetes de npm y 15 de PyPI estaban en riesgo de compromiso.

Un ataque separado de cadena de suministro también afectó a los usuarios de GitHub el mes pasado, informó la firma de seguridad Wiz la semana pasada. Este ataque apuntó a Nx, un sistema de construcción de código abierto y herramienta de gestión de repositorios utilizada en entornos empresariales. La primera violación comenzó tras obtener un token de autenticación válido para una cuenta de npm.

El código malicioso extraía tokens de GitHub y npm almacenados en sistemas comprometidos. También abusaba de interfaces de línea de comandos de IA para identificar archivos adicionales que podrían ser útiles para acceder a repositorios de interés. Una segunda fase del ataque utilizó los tokens de GitHub comprometidos para exponer repositorios privados haciéndolos públicos en los perfiles de GitHub de las víctimas. Las credenciales robadas se subieron a repositorios de GitHub que contenían el nombre s1ngularity-repository, formando la base para el nombre s1ngularity que Wiz ha dado al incidente.

Fuente original: ver aquí