No hacía falta un genio hacker: con un solo acceso y 49 minutos bastaron — análisis del ataque a la cadena de suministro de Injective

No hacía falta un genio hacker: con un solo acceso y 49 minutos bastaron — análisis del ataque a la cadena de suministro de Injective

Ataque a la cadena de suministro del SDK de Injective afectó a 87 paquetes dependientes en npm.

image

Una actualización rutinaria de la biblioteca para trabajar con carteras de criptomonedas en 49 minutos se convirtió en una trampa capaz de entregar a los atacantes el control total de los fondos de los usuarios. En el paquete @injectivelabs/sdk-ts para la plataforma Injective se insertó código que robaba las frases de recuperación y las claves privadas cuando el usuario creaba o cargaba una cartera de criptomonedas.

El código malicioso apareció el 8 de julio de 2026 en la versión 1.20.21, publicada en el registro npm. El paquete forma parte del conjunto oficial de herramientas de desarrollo de Injective Labs y ayuda a las aplicaciones a crear carteras, firmar transacciones e interactuar con la cadena de bloques de Injective. Según los datos de Datadog Security Labs, la biblioteca se descarga alrededor de 175 000 veces al mes.

El atacante enmascaró el robo de datos como la recopilación de estadísticas anonimizadas. El módulo añadido supuestamente medía la rapidez con la que se generan las claves y el método usado para obtenerlas, pero en realidad interceptaba la frase de recuperación o la clave privada al invocar las funciones PrivateKey.fromMnemonic() y PrivateKey.fromHex(). Los datos se codificaban y enviaban en la cabecera X-Request-Id a un servidor cuya dirección se parecía a la de un nodo habitual de la infraestructura de Injective.

El software malicioso no se ejecutaba inmediatamente tras la instalación. El código se activaba solo cuando la aplicación realmente creaba o abría una cartera. Este enfoque reducía la probabilidad de una detección rápida y, al mismo tiempo, garantizaba que la información interceptada permitiera recuperar las claves y acceder a las criptomonedas. Un análisis detallado del mecanismo fue publicado por la empresa Socket.

Los cambios maliciosos se introdujeron directamente en la rama principal del repositorio oficial a nombre de un desarrollador que llevaba tiempo participando en el proyecto. Luego, el sistema habitual de compilación automática preparó y publicó la versión infectada en npm. Los especialistas de StepSecurity creen que los atacantes obtuvieron acceso a la cuenta de un mantenedor de confianza del proyecto. No necesitaron una clave separada para publicar paquetes.

El ataque afectó no solo al conjunto principal de herramientas de desarrollo. Simultáneamente salieron versiones 1.20.21 de otros 17 paquetes de Injective Labs que referenciaban precisamente la biblioteca infectada. No contenían código malicioso propio, pero al instalarse descargaban automáticamente la dependencia peligrosa. La empresa OX Security contabilizó 87 paquetes de terceros que dependían de los componentes comprometidos.

Los desarrolladores revertieron los cambios y publicaron la versión limpia 1.20.23 aproximadamente 49 minutos después de la aparición de la compilación infectada. Sin embargo, el corto tiempo de propagación no descarta daños. Socket registró al menos 310 descargas de la versión maliciosa, y copias guardadas podrían haber quedado en almacenes intermedios y entornos de compilación.

A quienes instalaron los paquetes @injectivelabs versión 1.20.21 se les recomienda actualizar a 1.20.23 y comprobar no solo las dependencias directas sino también las transitivas. Se debe considerar que las frases de recuperación y las claves privadas que fueron procesadas por el código infectado han quedado comprometidas. Los propietarios de carteras deben generar nuevas claves y transferir los fondos a direcciones seguras.