Los atacantes instalaron un programa malicioso para robar información en 36 paquetes npm vinculados al ecosistema Arweave. El objetivo eran lasdentde los desarrolladores, las claves SSH y los archivos de la billetera de criptomonedas Exodus. La empresa de seguridad JFrog tracel ataque hasta una cuenta de mantenedor comprometida.
El malware se llama IronWorm y está desarrollado en Rust. Se activa en el momento en que un desarrollador instala un paquete npm. Una vez en ejecución, escanea el ordenador infectado en busca de 86 variables de entorno y 20dentde JFrog de investigación . Busca tokens de AWS, claves API de Anthropic y OpenAI, credenciales de autenticación de npmdentdatos de monederos de criptomonedas.
Los atacantes comprometieron una cuenta de npm llamada "asteroiddao", que pertenece al grupo de GitHub asteroid-dao, parte del proyecto de base de datos descentralizada Arweave/WeaveDB.
Todos los paquetes asociados a la cuenta "asteroiddao" fueron republicados en poco tiempo, y cada nueva versión contenía un archivo Linux de 976 KB ubicado en un directorio tools/.
El archivo estaba configurado para ejecutarse automáticamentematictravés de un de preinstalación en package.json, lo que significa que se ejecutaba antes de que npm siquiera comenzara a instalar nada. Todo lo que la víctima tenía que hacer era ejecutar npm install.
El equipo de JFrog analizó el archivo y descubrió que había sido empaquetado de una manera diseñada para engañar a las herramientas de descompresión estándar. En su interior había un extenso programa Rust que mantenía sus cadenas cifradas individualmente, con cada una bloqueada por separado, lo que dificultaba enormemente el análisis.
Cuando finalmente se decodificaron esas cadenas, revelaron puntos finales de la API de GitHub, rutas a archivosdent, cuentas de bots falsas vinculadas a ID de usuario reales de GitHub y plantillas para inyectar código malicioso en otros registros de paquetes.

Tras obtener lasdent, IronWorm las utilizó para enviar confirmaciones a repositorios a los que la víctima tenía acceso. Dichas confirmaciones insertaban el mismo binario malicioso en otros paquetes, que luego podían publicarse en npm y comprometer al siguiente desarrollador de la cadena.
JFrog detectó 57 commits maliciosos con fecha anterior en nueve organizaciones de GitHub . Los commits utilizaban el nombre de autor "claude" con la dirección de correo electrónico claude@users.noreply.github.com . Se falsificaron las marcas de tiempo para que coincidieran con el commit legítimo más reciente de cada repositorio. Uno de ellos parecía tener una antigüedad de 13 años, aunque los registros de GitHub Actions confirmaron que todos los pushes se realizaron pocos días después de su detección.
Entre las organizaciones afectadas se encontraban asteroid-dao, weavedb, ArweaveOasis y varias cuentas personales asociadas al desarrollador "ocrybit"
IronWorm también desplegó un rootkit de kernel eBPF para ocultarse en las máquinas infectadas. Las comunicaciones con su operador se enrutaban 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 peculiaridad reside en que el operador incluyó su propia frase de recuperación de monedero de criptomonedas en el código malicioso. JFrog concluyó que esto era una medida de seguridad para evitar que el programa malicioso extrajera lasdentdel atacante durante las pruebas.
La empresa de seguridad de aplicaciones Ox Security afirmó que el ataque fue detectado a tiempo, antes de que pudiera propagarse a más paquetes en npm.
Las versiones maliciosas fueron marcadas como obsoletas en menos de un día y la mayoría de las confirmaciones con fecha anterior fueron eliminadas de GitHub poco después.
El 14 de mayo, unos hackers aprovecharon una cuenta de mantenimiento inactiva de node-ipc, un paquete con más de 822 000 descargas semanales. El ataque se logró registrando nuevamente el dominio de correo electrónico caducado del mantenedor y restableciendo la contraseña de npm. Tres variantes comprometidas conteníandentpara robar credenciales, dirigidos a más de 90 categorías de información confidencial de desarrolladores.
Las empresas de seguridad Endor Labs y StepSecuritydentun ataque simultáneo pero distinto que utilizaba un malware basado en JavaScript llamado binding.gyp, que realizó un envenenamiento del registro y una infección de GitHub Actions similares durante el mismo período de tiempo.
Los desarrolladores que hayan instalado alguno de los paquetes de WeaveDB afectados deben rotar todas lasdent, comprobar los archivos de bloqueo para detectar cambios de versión inesperados y habilitar la autenticación de dos factores en las cuentas de npm y GitHub.
No te limites a leer noticias sobre criptomonedas. Entiéndelas. Suscríbete a nuestro boletín. Es gratis.