El 8 de septiembre, un importante ataque a la cadena de suministro de software afectó al ecosistema NPM, comprometiendo varias bibliotecas de JavaScript de uso generalizado. La brecha salió a la luz cuando Charles Guillemet, Chief Technology Officer de Ledger, advirtió que la cuenta de Node Package Manager de un desarrollador de confianza había sido hackeada. Las estimaciones iniciales situaban la exposición en más de mil millones de descargas, pero un análisis posterior reveló que los paquetes comprometidos representan en realidad más de 2.6 billion de descargas semanales.

Ataque a la cadena de suministro expone más de 2 Billion
Ataque a la cadena de suministro expone más de 2 Billion
El ataque tuvo como objetivo la cuenta de un desarrollador conocido como "qix", quien mantiene varias bibliotecas populares de JavaScript, incluidas chalk, strip-ansi, color-convert y debug. Estas bibliotecas aparecen en innumerables proyectos que abarcan tanto entornos de servidor como de front-end. Los atacantes obtuvieron acceso a través de un correo electrónico de soporte falso y enviaron actualizaciones maliciosas a aproximadamente 18 paquetes. La instalación automatizada de dependencias permitió que el malware se propagara rápidamente en cuestión de horas.
Guillemet explicó que el código malicioso reemplazaba silenciosamente las direcciones de billeteras de criptomonedas durante las transacciones. Los usuarios que dependen de software wallets enfrentaron el riesgo de perder fondos si aprobaban transacciones sin notar la dirección de destino alterada.
Malware Crypto Clipper y MetaMask
Los investigadores de seguridad clasificaron el malware como un "crypto clipper". Este reemplaza las direcciones de billetera en varias etapas de una transacción. Cuando no se detecta ninguna billetera, el malware modifica los datos salientes dentro de las aplicaciones descentralizadas al conectarse a funciones del navegador como fetch y XMLHttpRequest, escaneando y alterando las direcciones dentro de los datos de la aplicación.
Si una extensión de billetera como MetaMask está presente, el malware intercepta la transacción antes de firmarla. Modifica la dirección de la billetera en la memoria para que la dirección fraudulenta aparezca cuando el usuario revisa la transacción. El malware utiliza el algoritmo de Levenshtein para generar direcciones que se parecen mucho a la original, lo que dificulta la detección de las alteraciones.

Ataque a la cadena de suministro expone más de 2 Billion
Primeras señales del ataque
Los desarrolladores notaron el ataque por primera vez cuando los sistemas de compilación devolvieron un mensaje de error inesperado. La inspección de una dependencia llamada error-ex reveló código ofuscado que contenía una función sospechosa llamada checkethereumw, lo que indicaba que el objetivo eran las billeteras de Ethereum. Los analistas confirmaron que el malware contenía referencias a direcciones de billeteras en varias blockchains, incluidas Bitcoin, Ethereum, Solana, Tron, Litecoin y Bitcoin Cash.
Los paquetes afectados incluyen algunos de los más utilizados en el ecosistema de JavaScript. Chalk recibe más de 300 millones de descargas semanales, debug más de 350 millones y strip-ansi más de 260 millones. En conjunto, las bibliotecas comprometidas registran más de 2.6 billion de descargas cada semana, lo que demuestra la magnitud del impacto en la comunidad de desarrolladores.
Hardware vs Software Wallets
Muchas de las bibliotecas infectadas no están directamente vinculadas a proyectos de criptomonedas, pero su integración en las cadenas de dependencia significa que incluso aplicaciones no relacionadas pueden haber estado expuestas. Los proyectos que interactúan con billeteras de criptomonedas y aplicaciones descentralizadas enfrentan el mayor nivel de riesgo.
Guillemet señaló que los usuarios de hardware wallets con funciones de clear-signing permanecen seguros porque estos dispositivos permiten la verificación de cada transacción antes de su aprobación. Los usuarios de software wallets enfrentan una mayor exposición y deben extremar las precauciones hasta que las dependencias hayan sido revisadas y aseguradas por completo.
Identificación del atacante y fondos robados
Las direcciones de criptomonedas del atacante han sido identificadas y están siendo monitoreadas activamente a través de la transparencia de la blockchain pública. Una dirección principal de Ethereum vinculada a la operación es 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976, junto con varias direcciones de respaldo. Al momento de redactar este informe, los fondos robados no habían sido movidos. Este monitoreo permite un análisis continuo, aunque el alcance total de los activos robados sigue sin estar claro.

Ataque a la cadena de suministro expone más de 2 Billion
JavaScript y el papel de la comunidad
Las comunidades de JavaScript y web3 actuaron rápidamente para contener el incidente. Las versiones maliciosas de los paquetes comprometidos han sido eliminadas en gran medida del registro, pero los riesgos persisten para los proyectos que aún pueden depender de versiones obsoletas dentro de sus lockfiles. Se insta a los desarrolladores a auditar sus dependencias, bloquear versiones seguras y reinstalar compilaciones limpias para evitar una mayor exposición.
Los profesionales de seguridad recomiendan que los desarrolladores roten sus credenciales, apliquen la autenticación de dos factores en cuentas como NPM y GitHub, y utilicen métodos de instalación deterministas como npm ci para mantener un control de versiones estricto. Los usuarios deben verificar cuidadosamente todas las transacciones de criptomonedas, particularmente cuando dependen de software wallets.
Reflexiones finales
Este incidente se clasifica como una de las brechas más extensas que ha afectado al ecosistema NPM. Si bien la respuesta de la comunidad fue relativamente rápida, el ataque expone la fragilidad de las cadenas de suministro de software modernas y los riesgos creados por la dependencia generalizada de componentes de código abierto.
Como enfatizó Guillemet, revisar cada transacción antes de firmar sigue siendo esencial. La brecha demuestra que incluso las bibliotecas pequeñas integradas profundamente en la infraestructura de una aplicación pueden convertirse en vectores de ataque significativos cuando se ven comprometidas. Tanto para los desarrolladores como para los usuarios, la vigilancia constante es ahora una parte fundamental para mantener la seguridad en los ecosistemas de web3 y desarrollo de software.



