Ataque masivo a la cadena de suministro en npm expone a la nube, pero deja a los atacantes con ganancias mínimas

CyberSecureFox 🦊

Una de las campañas de cadena de suministro más amplias registradas en la ecosistema npm demostró la velocidad con la que el código malicioso puede propagarse a través de dependencias populares de JavaScript. En un lapso aproximado de dos horas, versiones comprometidas de paquetes críticos llegaron a ejecutarse en alrededor del 10% de los entornos en la nube, según estimaciones del proveedor de seguridad Wiz, pese a que la monetización de los atacantes fue mínima.

Compromiso inicial: robo de credenciales y actualización de paquetes muy utilizados

El incidente comenzó con un phishing que permitió secuestrar credenciales de un mantenedor de npm. Con acceso a su cuenta, los atacantes publicaron versiones alteradas de cerca de 20 paquetes ampliamente usados, incluidos chalk, debug y ansi-styles, que acumulan más de 2,6 mil millones de descargas semanales. El objetivo de las modificaciones era el crypto-draining: interceptar transacciones y sustituir direcciones de destinatario para desviar fondos.

Alcance real: dependencia casi universal y penetración en la nube

El análisis de Wiz subraya el carácter sistémico del riesgo: al menos uno de los paquetes alterados figura como dependencia base en prácticamente cualquier proyecto JavaScript/Node.js y está presente en el 99% de entornos cloud. Durante las aproximadamente dos horas en que las versiones maliciosas estuvieron disponibles en npm, se registraron descargas en alrededor del 10% de los entornos en la nube, lo que ilustra la facilidad con la que una cadena de suministro comprometida puede atravesar controles tradicionales.

Técnica de ataque: inyección en el navegador y desvío de transacciones

De acuerdo con Security Alliance, la carga maliciosa estaba orientada a la ejecución en navegador. El script comprobaba la presencia de window.ethereum y enganchaba funciones básicas de transacción de Ethereum —approve, permit, transfer, transferFrom— para redirigirlas a la billetera 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976. Asimismo, transacciones de ETH con cantidades concretas y sin datos adicionales eran redirigidas. En Solana, los atacantes sustituían el destinatario por una cadena no válida que comenzaba por “1911…”, interrumpiendo la transferencia y buscando forzar intentos repetidos susceptibles de manipulación.

Daño acotado y rentabilidad fallida

La respuesta de la comunidad y de los repositorios fue rápida: las publicaciones maliciosas se retiraron en cuestión de horas. Investigadores señalan que los operadores habrían usado addresses asociados a Uniswap y otros swap contracts en lugar de sus propios monederos, lo que redujo drásticamente el beneficio. Las cifras observadas van de centavos a decenas de dólares por evento, con pérdidas agregadas por parte de las víctimas muy limitadas.

Reincidencia y balance económico

Según Socket, el mismo grupo comprometió más tarde la cuenta de un mantenedor de DuckDB, inyectando una carga idéntica. El rendimiento económico volvió a ser bajo: alrededor de USD 429 en ETH, USD 46 en SOL y pequeñas cantidades en BTC, Tron, BCH y LTC, para un total cercano a USD 600. Aun con acceso a cadenas de suministro, los atacantes no escalaron a movimientos laterales ni a despliegues de ransomware, limitándose al robo de criptomonedas.

Lecciones clave: controlar dependencias y endurecer la cadena de suministro

El incidente confirma un vector crítico: la propagación veloz y masiva de dependencias maliciosas en proyectos de código abierto. Las medidas prioritarias incluyen: MFA obligatoria y administración segura de cuentas de mantenedores; firma y atestación de artefactos (p. ej., Sigstore y provenance para npm); bloqueo de versiones con archivos lock y verificaciones periódicas; SBOM para visibilidad de dependencias; control de egress e aislamiento de runners CI/CD; política de mínimo privilegio; revisión de publicaciones por pares y monitoreo continuo de anomalías en la cadena de suministro.

La lección operativa es directa: incluso ventanas cortas de exposición pueden permear una fracción significativa de la nube. Fortalecer procesos de construcción confiable, exigir transparencia de origen de artefactos y automatizar el control de dependencias reduce superficie de ataque y acelera la respuesta. Revise hoy sus políticas de publicación, tokens de npm, flujos de CI/CD y alertas de dependencias; una higiene de desarrollo rigurosa es la defensa más eficaz frente al próximo intento de compromiso.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.