ÚLTIMAS NOTICIAS
SELECCIONADO PARA TI

Los atacantes trojanizaron el paquete npm WeaveDB de Arweave para desplegar malware

PorRanda MosesRanda Moses 3 min de lectura
Los atacantes troyanizaron el paquete npm WeaveDB de Arweave para desplegar malware.
  • Un infector de Rust llamado IronWorm se ocultó en 36 paquetes npm del ecosistema de Arweave.
  • El malware se autorreplicó y luego envió commits maliciosos con fechas retroactivas a través de nueve organizaciones.
  • Los desarrolladores que instalaron los paquetes afectados deben rotar inmediatamente todos los secretos expuestos.

Los atacantes plantaron un infostealer dentro de 36 paquetes npm vinculados al ecosistema Arweave. Se dirigió a credenciales de desarrolladores, claves SSH y archivos de la billetera de criptomonedas Exodus. La firma de seguridad JFrog rastreó el ataque hasta una cuenta de mantenedor comprometida.

El malware se llama IronWorm, y está construido en Rust. Se activa en el momento en que un desarrollador instala un paquete npm. Una vez en ejecución, escanea la computadora infectada en busca de 86 variables de entorno y 20 archivos de credenciales, como encontró el equipo de investigación de JFrog. Se dirige a tokens de AWS, claves API de Anthropic y OpenAI, credenciales de autenticación de npm y datos de billeteras de criptomonedas.

Los paquetes del proyecto Arweave llevan malware Rust oculto

Los atacantes comprometieron una cuenta npm llamada «asteroiddao», que pertenece al grupo asteroid-dao GitHub, parte del proyecto de base de datos descentralizada Arweave/WeaveDB.

Todos los paquetes asociados con la cuenta «asteroiddao» se volvieron a publicar en un corto período de tiempo, con cada nueva versión que contenía un archivo Linux de 976 KB ubicado en un directorio tools/.

El archivo estaba configurado para ejecutarse automáticamente a través de un preinstall gancho en package.json, lo que significaba que se lanzaba antes de que npm comenzara a instalar nada. Todo lo que una víctima tenía que hacer era ejecutar npm install.

El equipo de JFrog desarmó el archivo y descubrió que había sido empaquetado de una manera diseñada para engañar a las herramientas de desempaquetado estándar. Dentro había un programa Rust grande que mantenía sus cadenas de texto encriptadas individualmente, con cada una bloqueada por separado, lo que hacía el análisis mucho más difícil.

Cuando esas cadenas de texto finalmente se descodificaron, revelaron puntos finales de la API de GitHub, rutas a archivos de credenciales, cuentas de bot falsas vinculadas a IDs de usuario reales de GitHub y plantillas para inyectar código malicioso en otros registros de paquetes.

Los atacantes troyanizaron el paquete npm WeaveDB de Arweave para desplegar malware.
Una captura de pantalla que muestra paquetes npm infectados relacionados con el ecosistema Arweave. Fuente: Jfrog.

Los tokens de GitHub robados permiten al malware enviar confirmaciones e infectar más repositorios

Después de recopilar las credenciales, IronWorm las utilizó para enviar confirmaciones a los repositorios a los que la víctima podía acceder. Esas confirmaciones plantaron el mismo binario malicioso en otros paquetes, que luego podían publicarse en npm y comprometer al siguiente desarrollador en la cadena.

JFrog encontró 57 confirmaciones maliciosas con fecha posterior en nueve GitHub organizaciones. Las confirmaciones utilizaban el nombre de autor «claude» con el correo electrónico [email protected]. Las marcas de tiempo fueron falsificadas para coincidir con la confirmación legítima más reciente de cada repositorio. Una parecía datar de hace 13 años, aunque los registros de GitHub Actions confirmaron que todos los envíos ocurrieron dentro de unos días del descubrimiento.

Las organizaciones afectadas incluían asteroid-dao, weavedb, ArweaveOasis y varias cuentas personales asociadas con el desarrollador «ocrybit».

IronWorm también implementó un rootkit de kernel eBPF para ocultarse en las máquinas infectadas. Las comunicaciones con su operador se enrutaron a través de la red Tor. El compilador de Rust dejó el código fuente del rootkit en el binario, un error operativo que facilitó el análisis.

Una de las rarezas es que el operador codificó en la propia frase de recuperación de su billetera de criptomonedas en el malware. JFrog concluyó que esto era una medida de seguridad para evitar que el ladrón de credenciales exfiltrara las propias credenciales del atacante durante las pruebas.

Los ataques de malware siguen golpeando npm

La firma de seguridad de aplicaciones Ox Security dijo que el ataque fue detectado temprano, antes de que pudiera propagarse a más paquetes en npm.

Las versiones maliciosas fueron marcadas como obsoletas en un día y la mayoría de los commits con fecha retroactiva fueron eliminados de GitHub poco después.

El 14 de mayo, hackers explotaron una cuenta de mantenedor inactiva para node-ipc, un paquete con más de 822.000 descargas semanales. La explotación se logró volviendo a registrar el dominio de correo electrónico expirado del mantenedor y restableciendo la contraseña de npm. Tres variantes comprometidas tenían cargas útiles de robo de credenciales dirigidas a más de 90 categorías de secretos de desarrolladores.

Las firmas de seguridad Endor Labs y StepSecurity identificaron un ataque concurrente pero distinto que utilizaba un malware basado en JavaScript llamado binding.gyp, el cual realizó un envenenamiento similar del registro y una infección de GitHub Actions durante el mismo período.

Los desarrolladores que instalaron cualquiera de los paquetes WeaveDB afectados deben rotar todas las credenciales, verificar los archivos lock en busca de cambios de versión inesperados y habilitar la autenticación de dos factores en las cuentas de npm y GitHub.

Las mentes más inteligentes del mundo cripto ya leen nuestro boletín. ¿Quieres unirte? Únete a ellos.

Preguntas frecuentes

¿Qué es IronWorm y cómo se propaga?

IronWorm es un infector de Rust que se ejecuta durante `npm install` mediante un hook preinstall. Una vez obtenidas las credenciales, utiliza los tokens de GitHub y npm robados para enviar commits maliciosos a los repositorios de la víctima.

¿Qué paquetes de npm se vieron afectados por el ataque de IronWorm?

El ataque comprometió 36 paquetes publicados bajo la cuenta "asteroiddao" de npm, todos vinculados al ecosistema Arweave/WeaveDB.

¿Qué credenciales roba IronWorm?

El malware tiene como objetivo 86 variables de entorno y 20 archivos de credenciales. Esto incluye tokens de AWS, claves API de OpenAI y Anthropic, secretos de autenticación de npm, claves SSH y archivos de la billetera cripto Exodus.

Comparte este artículo

Descargo de responsabilidad. La información proporcionada no constituye asesoramiento financiero. Cryptopolitan.com no asume ninguna responsabilidad por las inversiones realizadas basándose en la información proporcionada en esta página. Recomendamos encarecidamente realizar una investigación independiente y/o consultar con un profesional calificado antes de tomar cualquier decisión de inversión.

Randa Moses

Randa Moses

Randa Moses es editora y reportera en Cryptopolitan, donde cubre tecnología, IA, robótica, criptomonedas, estafas y ciberataques. Ha trabajado en el espacio de las criptomonedas desde 2017. Ocupó cargos en Forward Protocol, AmaZix y Cryptosomniac. Randa posee un grado en Ingeniería Eléctrica y Electrónica de la Universidad de Bradford.

MÁS … NOTICIAS