El equipo de seguridad de npm ha eliminado una biblioteca de JavaScript maliciosa de su portal, que fue diseñada para robar archivos confidenciales del navegador de un usuario infectado y la aplicación Discord.
El paquete malicioso era una biblioteca de JavaScript llamada «fallguys«, que pretendía proporcionar una interfaz para la API del juego «Fall Guys: Ultimate Knockout».
Sin embargo, después de descargar la biblioteca e integrarla dentro de los proyectos, cuando el desarrollador ejecuta su código, el paquete malicioso también se ejecuta.
Según el equipo de seguridad de npm, el código intentaría acceder a cinco archivos locales, leer su contenido y luego publicar los datos dentro de un canal de Discord.
Los archivos que el paquete intenta leer son:
- /AppData/Local/Google/Chrome/User\x20Data/Default/Local\x20Storage/leveldb
- /AppData/Roaming/Opera\x20Software/Opera\x20Stable/Local\x20Storage/leveldb
- /AppData/Local/Yandex/YandexBrowser/User\x20Data/Default/Local\x20Storage/leveldb
- /AppData/Local/BraveSoftware/Brave-Browser/User\x20Data/Default/Local\x20Storage/leveldb
- /AppData/Roaming/discord/Local\x20Storage/leveldb
Los primeros cuatro archivos son bases de datos de LevelDB específicas para navegadores como Chrome, Opera, Yandex Browser y Brave. Estos archivos por lo general almacenan información específica del historial de navegación de un usuario.
El último archivo era una base de datos similar de LevelDB pero para el cliente de Windows de Discord, que de forma parecida, almacena información sobre los canales a los que se ha unido un usuario y otro contenido específico del canal.
Cabe destacar que el paquete malicioso no robó otros datos confidenciales de las computadoras de los desarrolladores infectados, como las cookies de sesión o la base de datos del navegador que almacenaba las credenciales.
El paquete malicioso también pudo haber recopilado datos sobre las víctimas y evaluar a qué sitios estaban accediendo los desarrolladores infectados, antes de entregar un código más específico por medio de una actualización del paquete más adelante.
El paquete estuvo disponible en el sitio web por dos semanas, tiempo en el que se descargó al rededor de 300 veces.