Diez paquetes npm con errores tipográficos intencionados, cargados el 4 de julio de 2025, han sido detectados descargando un infostealer que apunta a datos sensibles en sistemas Windows, Linux y macOS. Estos paquetes, que imitan bibliotecas populares, eludieron la detección mediante múltiples capas de ofuscación y acumularon casi 10.000 descargas. La firma de ciberseguridad Socket informó sobre la amenaza, señalando que los paquetes siguen disponibles en el registro.
El 4 de julio de 2025, actores de amenazas cargaron diez paquetes maliciosos en el registro npm, utilizando suplantación por errores tipográficos para hacerse pasar por software legítimo como TypeScript, discord.js, ethers.js, nodemon, react-router-dom y zustand. Los paquetes —typescriptjs, deezcord.js, dizcordjs, dezcord.js, etherdjs, ethesjs, ethetsjs, nodemonjs, react-router-dom.js y zustand.js— engañaron a los desarrolladores para que los instalaran al aparecer en los resultados de búsqueda de los nombres reales.
Al instalarse, un script postinstall se activa, generando una terminal oculta que ejecuta 'app.js' y borra la ventana para evitar ser notado. Este cargador emplea cuatro capas de ofuscación: un envoltorio eval de autodescifrado, descifrado XOR con una clave dinámica, carga útil codificada en URL y una fuerte ofuscación del flujo de control. Muestra un CAPTCHA ASCII falso en la terminal para parecer legítimo, luego envía la geolocalización de la víctima y la huella del sistema a un servidor de comando y control.
El malware posteriormente descarga un binario infostealer empaquetado con PyInstaller de 24 MB adaptado al SO del host. Esta herramienta extrae credenciales de los llaveros del sistema, incluyendo Windows Credential Manager, macOS Keychain y opciones de Linux como SecretService, libsecret y KWallet. También apunta a navegadores basados en Chromium y Firefox para perfiles, contraseñas guardadas y cookies de sesión, junto con claves SSH en directorios comunes y tokens como OAuth, JWT y claves API.
Los datos robados se comprimen en archivos y se almacenan en /var/tmp o /usr/tmp antes de su exfiltración al servidor del atacante en 195.133.79.43. A pesar del informe de Socket a npm, los paquetes seguían disponibles a finales de octubre de 2025. Los expertos instan a los desarrolladores afectados a eliminar los paquetes, rotar todas las credenciales y verificar las fuentes de editores reputados para prevenir compromisos.
