
Los investigadores de ciberseguridad han descubierto dos paquetes maliciosos en el registro NPM que están diseñados para infectar otro paquete instalado localmente, subrayando la evolución continua de los ataques de la cadena de suministro de software dirigido al ecosistema de código abierto.
Los paquetes en cuestión son Esters-Provider2 y Esters-Providerzcon el primero descargado 73 veces hasta la fecha desde que era publicado el 15 de marzo de 2025. El segundo paquete, probablemente eliminado por el autor de malware, no atrajo ninguna descarga.
“Eran descargadores simples cuya carga útil maliciosa estaba inteligentemente escondida”, la investigadora de reversinglabs Lucija Valentić dicho En un informe compartido con The Hacker News.
“La parte interesante estaba en su segunda etapa, que ‘parchearía’ el paquete legítimo de NPM éterinstalado localmente, con un nuevo archivo que contiene la carga útil maliciosa. Ese archivo parcheado finalmente serviría a un shell inverso “.
El desarrollo marca una nueva escalada de las tácticas de los actores de amenaza, ya que desinstalar los paquetes deshonestos no librará a las máquinas comprometidas de la funcionalidad maliciosa, ya que los cambios residen en la biblioteca popular. Además de eso, si un usuario desprevenido elimina el paquete Ethers cuando Ethers-Provider2 permanece en el sistema, corre el riesgo de reinfección cuando el paquete se instala nuevamente en un momento posterior.
El análisis de ReversingLabs de Ethers-Provider2 ha revelado que no es más que una versión troyana del amplio utilizado. ssh2 Paquete NPM que incluye una carga útil maliciosa dentro de Install.js para recuperar un malware de segunda etapa de un servidor remoto (“5.199.166[.]1: 31337/install “), escríbelo a un archivo temporal y ejecutarlo.
Inmediatamente después de la ejecución, el archivo temporal se elimina del sistema en un intento por evitar dejar cualquier rastro. La carga útil de la segunda etapa, por su parte, inicia un bucle infinito para verificar si el éter del paquete NPM se instala localmente.
En el caso de que el paquete ya esté presente o se instale recién instalado, se pone en acción reemplazando uno de los archivos llamados “Provider-JsonRpc.js” con una versión falsificada que incluye un código adicional para obtener y ejecutar una tercera etapa del mismo servidor. La carga útil recientemente descargada funciona como un shell inverso para conectarse al servidor del actor de amenaza a través de SSH.
“Eso significa que la conexión abierta con este cliente se convierte en un shell inverso una vez que recibe un mensaje personalizado del servidor”, dijo Valentić. “Incluso si el paquete Ethers-Provider2 se elimina de un sistema comprometido, el cliente aún se utilizará bajo ciertas circunstancias, proporcionando cierto grado de persistencia para los atacantes”.
Vale la pena señalar en esta etapa que el paquete oficial de Ethers en el registro NPM no se ve comprometido, ya que las modificaciones maliciosas se realizan localmente después de la instalación.
El segundo paquete, Ethers-Providerz, también se comporta de manera similar, ya que intenta alterar archivos asociados con un paquete NPM instalado localmente llamado “@Ethersproject/Providers”. Se desconoce el paquete NPM exacto dirigido por la biblioteca, aunque las referencias del código fuente indican que podría haber sido cargador.js.
Los hallazgos sirven para resaltar las nuevas formas en que los actores de amenaza están sirviendo y persistiendo malware en los sistemas de desarrolladores, lo que hace que sea esencial que los paquetes de repositorios de código abierto se analicen cuidadosamente antes de descargarlos y usarlos.
“A pesar de los bajos números de descarga, estos paquetes son potentes y maliciosos”, dijo Valentić. “Si su misión es exitosa, corromperán los éteres del paquete instalado localmente y mantendrán la persistencia en los sistemas comprometidos incluso si se elimina ese paquete”.






