Un paquete npm que se hacia pasar por «twilio-npm» y abría paso a backdoors
Una biblioteca de JavaScript, que pretende ser una biblioteca relacionada con Twilio permitía instalar backdoors en las computadoras de los programadores para permitir que los atacantes accedan a las estaciones de trabajo infectadas, se cargó en el registro de código abierto de npm el viernes pasado.
Afortunadamente, el servicio de detección de malware Release Integrity de Sonatype detectó rápidamente el malware, en tres versiones, y lo eliminó el lunes.
El equipo de seguridad de npm eliminó el lunes una biblioteca de JavaScript denominada «twilio-npm» del sitio web de npm porque contenía código malicioso que podía abrir backdoors en las computadoras de los programadores.
Los paquetes que contienen código malicioso se han convertido en un tema recurrente en el registro de código JavaScript de código abierto.
La biblioteca de JavaScript (y su comportamiento malicioso) fue descubierto este fin de semana por Sonatype, que monitorea los repositorios de paquetes públicos como parte de sus servicios de operaciones de seguridad para DevSecOps.
En un informe publicado el lunes, Sonatype dijo que la biblioteca se publicó por primera vez en el sitio web de npm el viernes, se descubrió el mismo día y se eliminó el lunes después de que el equipo de seguridad de npm puso el paquete en una lista negra.
Hay muchos paquetes legítimos en el registro npm relacionados o que representan el servicio oficial de Twilio.
Pero según Ax Sharma, ingeniero de seguridad de Sonatype, twilio-npm no tiene nada que ver con la empresa Twilio. Twilio no está involucrado y no tiene nada que ver con este intento de robo de marca. Twilio es una plataforma líder de comunicaciones basada en la nube, como servicio, que permite a los desarrolladores crear aplicaciones basadas en VoIP que pueden realizar y recibir llamadas telefónicas y mensajes de texto de manera programable.
El paquete oficial de Twilio npm se descarga casi medio millón de veces a la semana, según el ingeniero. Su gran popularidad explica por qué los actores de amenazas podrían estar interesados en atrapar a los desarrolladores con un componente falsificado con el mismo nombre.
“Sin embargo, el paquete Twilio-npm no se mantuvo lo suficiente como para engañar a mucha gente. Subido el viernes 30 de octubre, el servicio Release Integrity de Sontatype aparentemente marcó el código como sospechoso un día después: la inteligencia artificial y el aprendizaje automático claramente tienen usos. El lunes 2 de noviembre, la empresa publicó sus hallazgos y el código fue retirado.
A pesar de la corta vida útil del portal npm, la biblioteca se ha descargado más de 370 veces y se ha incluido automáticamente en proyectos de JavaScript creados y administrados a través de la utilidad de línea de comandos npm (Node Package Manager), según Sharma. Y muchas de esas solicitudes iniciales probablemente provienen de motores de escaneo y proxies que tienen como objetivo rastrear los cambios en el registro npm.
El paquete falsificado es malware de un solo archivo y tiene 3 versiones disponibles para descargar (1.0.0, 1.0.1 y 1.0.2). Las tres versiones parecen haber sido lanzadas el mismo día, 30 de octubre. La versión 1.0.0 no logra mucho, según Sharma. Solo incluye un pequeño archivo de manifiesto, package.json, que extrae un recurso ubicado en un subdominio ngrok.
ngrok es un servicio legítimo que los desarrolladores usan cuando prueban su aplicación, especialmente para abrir conexiones a sus aplicaciones de servidor «localhost» detrás de NAT o un firewall. Sin embargo, a partir de las versiones 1.0.1 y 1.0.2, el mismo manifiesto tiene su script posterior a la instalación modificado para realizar una tarea siniestra, según Sharma.
Esto abre efectivamente un backdoor en la máquina del usuario, dando al atacante el control de la máquina comprometida y las capacidades de ejecución remota de código (RCE). Sharma dijo que el intérprete de comando inverso solo funciona en sistemas operativos basados en UNIX.
Los desarrolladores deben cambiar las ID, los secretos y las claves
El aviso de npm dice que los desarrolladores que pueden haber instalado el paquete malicioso antes de que se elimine están en peligro.
«Cualquier computadora en la que esté instalado este paquete o que funcione debe considerarse totalmente comprometida», dijo el lunes el equipo de seguridad de npm, confirmando la investigación de Sonatype.