Investigadores de ciberseguridad han descubierto tres paquetes NPM maliciosos diseñados para entregar un malware previamente no documentado llamado ” NodoCordRAT.
Los nombres de los paquetes, todos eliminados a partir de noviembre de 2025, se enumeran a continuación. Fueron subidos por un usuario llamado “wenmoonx”.
“Los paquetes bitcoin-main-lib y bitcoin-lib-js ejecutan un script postinstall.cjs durante la instalación que instala bip40, el paquete que contiene la carga maliciosa”, dijeron los investigadores de Zscaler ThreatLabz, Satyam Singh y Lakhan Parashar. “Esta última carga útil, denominada NodeCordRAT por ThreatLabz, es un troyano de acceso remoto (RAT) con capacidades de robo de datos”.
NodeCordRAT recibe su nombre del uso de npm como vector de propagación y servidores Discord para la comunicación de comando y control (C2). El malware está diseñado para robar credenciales de Google Chrome, tokens API y frases iniciales de billeteras de criptomonedas como MetaMask.

Según la empresa de ciberseguridad, se dice que el actor de amenazas detrás de la campaña nombró los paquetes en honor a repositorios reales encontrados en el proyecto legítimo BitcoinJS, como bitcoinjs-lib, bip32, bip38 y bip38.
Tanto “bitcoin-main-lib” como “bitcoin-lib-js” contienen un archivo “package.json” que contiene “postinstall.cjs” como script postinstalación, lo que da como resultado la ejecución de “bip40” que contiene la carga útil NodeCordRAT.

El malware no solo captura la huella digital del host infectado para generar un identificador único en los sistemas Windows, Linux y macOS, sino que también utiliza un servidor Discord codificado para abrir un canal de comunicación encubierto para recibir y ejecutar instrucciones.
- !run para ejecutar comandos de shell arbitrarios utilizando la función Exec de Node.js
- !captura de pantalla para tomar una captura de pantalla completa del escritorio y exportar el archivo PNG al canal de Discord
- !sendfile para subir un archivo específico al canal de Discord
“Estos datos se extraen utilizando la API de Discord con un token codificado y se envían a un canal privado”, dijo Zscaler. “Los archivos robados se cargan como archivos adjuntos de mensajes a través del punto final REST /channels/{id}/messages de Discord”.