Ciberseguridad

Ataque a la cadena de suministro de NPM: Qué sucedió y cómo solucionarlo

mm
Añade Securities.io a tus fuentes preferidas en Google
Divulgación: Securities.io puede recibir una compensación cuando usa enlaces a productos que evaluamos. Esto no influye en nuestras evaluaciones editoriales. No somos un asesor de inversiones registrado; esto no es asesoramiento de inversión. Lea nuestra divulgación de afiliados.
Digital vault being cracked open

La industria de criptomonedas y el mundo en general experimentaron recientemente un sobresalto cuando expertos en seguridad identificaron un ataque a la cadena de suministro que apuntaba al ecosistema Node.js y que ya había comprometido hasta 18 paquetes npm.

Eso se debe a que estos pocos paquetes reciben miles de millones de descargas por semana.

Los paquetes de software se utilizan para distribuir software de terceros. A menudo obtenidos de una fuente externa mediante un gestor de paquetes, suelen incluir código fuente, bibliotecas, documentación y otros archivos necesarios para compilar y ejecutar el software.

Ahora, un paquete que contiene malware se disfraza de uno legítimo, cuando en realidad es malicioso con la intención de infectar el software. Al ingresar a un sistema, el malware del paquete malicioso puede modificar archivos, robar datos e incluso tomar el control de todo el sistema para hacer lo que el atacante desee.

Aunque otros ecosistemas de código abierto importantes como Python y .NET son igualmente vulnerables a los ataques, el amplio uso de JavaScript lo hace particularmente expuesto a los ciberdelincuentes.

Node.js es un entorno de ejecución de código abierto construido sobre JavaScript que permite a los desarrolladores ejecutar su código fuera del navegador web.

Tradicionalmente, el lenguaje de programación interpretado, conocido principalmente por ayudar a que las páginas web sean interactivas, se utilizaba principalmente para el desarrollo web del lado del cliente dentro de los navegadores, pero Node.js amplió el uso de JavaScript al lado del servidor y a otras aplicaciones.

Con Node.js, los desarrolladores pueden crear aplicaciones rápidas y escalables como servidores web, API, herramientas y más.

Se beneficia de un vasto ecosistema de bibliotecas y herramientas de código abierto disponibles a través de npm, lo que simplifica el desarrollo y brinda soluciones para diversas funcionalidades.

Node Package Manager, o npm, es una herramienta clave en el desarrollo de JavaScript, que se utiliza para encontrar, crear y gestionar paquetes de código. Ayuda a manejar dependencias, habilitar la colaboración y simplificar los flujos de trabajo.

Este registro de software más grande del mundo contiene más de 3 millones de paquetes de código y es completamente gratuito.

Cualquiera puede descargar todos los paquetes de software públicos de npm sin necesidad de registrarse. Los desarrolladores de código abierto usan npm para compartir y tomar prestado software, mientras que muchas organizaciones lo utilizan para gestionar desarrollo privado.

Para instalar npm en tu computadora, primero debes instalar Node.js.

El gestor de paquetes para JavaScript es mantenido por npm, Inc., una subsidiaria de GitHub, la principal plataforma de desarrollo de software del mundo, que ha sido propiedad de Microsoft (MSFT ) desde 2018, cuando el gigante tecnológico la adquirió por 7.5 mil millones de dólares para potenciar a los desarrolladores.

La semana pasada, la herramienta en la que confían más de 17 millones de desarrolladores en todo el mundo fue comprometida, creando pánico en Internet, aunque solo por un breve momento, ya que los expertos la detectaron rápidamente y los atacantes no pudieron robar más de 50 dólares. ¡Esto es lo que sucedió!

Qué sucedió en el ataque a la cadena de suministro de NPM (Sept 2025)

En el enorme ataque a la cadena de suministro que tuvo lugar en el ecosistema JavaScript, los hackers comprometieron una serie de paquetes npm con malware. El objetivo del ataque era robar activos digitales de usuarios desprevenidos.

En particular, la cuenta npm del desarrollador ‘qix’ fue hackeada.

Qix es una cuenta mantenedora de código abierto que fue comprometida mediante un ataque de phishing. Esto permitió a los atacantes infectar 18 paquetes npm populares con código malicioso. En conjunto, estos paquetes se descargan cientos de millones de veces semanalmente, ya que están integrados en frameworks, herramientas de desarrollo y servicios de producción.

Los paquetes afectados incluyen chalk, debug, color-name, wrap-ansi y ansi-styles, que son algunos de los más populares, mientras que los paquetes npm menos populares afectados son backslash, chalk-template y has-ansi.
Desliza para desplazarte →

Paquete Versión(es) comprometida(s) Acción
debug 4.4.2 Fijar a una versión anterior a 4.4.2; reinstalar; escanear registros de compilación
chalk 5.6.1 Fijar a una versión anterior a 5.6.1; volver a desplegar una compilación limpia
ansi-styles 6.2.2 Fijar a una versión anterior a 6.2.2; auditar dependencias descendentes
ansi-regex 6.2.1 Fijar a una versión anterior a 6.2.1
strip-ansi 7.1.1 Fijar a una versión anterior a 7.1.1
wrap-ansi 9.0.1 Fijar a una versión anterior a 9.0.1
color, color-convert, color-string, color-name 5.0.1 / 3.1.1 / 2.1.1 / 2.0.1 Fijar a versiones anteriores listadas; volver a bloquear y recompilar
has-ansi, supports-color, slice-ansi 6.0.1 / 10.2.1 / 7.1.1 Fijar a versiones anteriores listadas
backslash, is-arrayish, error-ex, simple-swizzle, chalk-template, supports-hyperlinks 0.2.1 / 0.3.3 / 1.3.3 / 0.2.3 / 1.1.1 / 4.1.1 Fijar a versiones anteriores listadas
duckdb, @duckdb/node-api, @duckdb/node-bindings, @duckdb/duckdb-wasm 1.3.3 / 1.3.3 / 1.3.3 / 1.29.2 Evitar versiones listadas; esperar actualizaciones del proveedor

Todos los paquetes que fueron afectados han sido eliminados por el registro npm. Al comprometer a un mantenedor de código abierto de alto valor, el ataque ha convertido en arma la confianza en el ecosistema de software de código abierto (OSS), ya que los desarrolladores no auditan cada dependencia que utilizan. Lo que hacen es confiar en su uso y reputación, así como en la seguridad de los registros.

NPM Supply Chain Attack Tweet

Para comprometer los paquetes, el hacker tomó la ruta del phishing. El atacante primero lanzó una campaña de phishing para secuestrar la cuenta de un mantenedor de paquetes npm, luego inyectó su código malicioso en los paquetes npm antes de subir sus versiones comprometidas.

El desarrollador Josh Junon fue quien cayó víctima de un correo electrónico de phishing que formaba parte de una campaña mayor que imitaba a npm. Así, los atacantes usaron un sitio de phishing que imitaba la página de inicio de sesión de npm para robar sus credenciales. Y tan pronto como los atacantes ingresaron, bloquearon a Junon cambiando la dirección de correo electrónico registrada en su cuenta npm.

“Hola, sí, me hackearon. Lo siento a todos, muy embarazoso,” escribió Junon en HackerNews, confirmando el incidente. Explicó antes de aclarar que solo npm fue afectado:

“Parecía legítimo a primera vista. No pongo excusas, solo tuve una semana larga y una mañana de pánico y estaba intentando tachar algo de mi lista de tareas. Cometí el error de hacer clic en el enlace en lugar de ir directamente al sitio.”

El correo electrónico de phishing provenía de support [at] npmjs [dot] help y utilizó una táctica de miedo para que Junon hiciera clic en el enlace, que lo redirigió al sitio de phishing.

Pretendiendo ser de npm, los atacantes le pidieron que actualizara sus credenciales 2FA, alegando ser parte de un “compromiso continuo con la seguridad de la cuenta”, y que están solicitando lo mismo a todos los usuarios.

“Nuestros registros indican que ha pasado más de 12 meses desde su última actualización de 2FA,” indicó el correo de phishing, añadiendo que aquellos con “credenciales 2FA desactualizadas serán bloqueados temporalmente a partir del 10 de septiembre de 2025, para prevenir accesos no autorizados.”

El mismo correo electrónico también se utilizó para atacar a otros mantenedores de paquetes y desarrolladores.

Dada la amplia utilización de los paquetes afectados, esto podría haberse convertido en un incidente mayor si no se hubiera manejado tan rápidamente.

Como señaló Charlie Erickson de Aikido Security en un informe, innumerables sitios web evitaron daños muy graves por este ataque, donde los paquetes npm contenían un fragmento de código que se ejecutaría en el cliente de un sitio web.

“Este malware es esencialmente un interceptor basado en el navegador que secuestra tanto el tráfico de red como las API de la aplicación,” declaró en su análisis del ataque. “Lo que lo hace peligroso es que opera en múltiples capas: altera el contenido mostrado en los sitios web, manipula las llamadas a API y modifica lo que las aplicaciones de los usuarios creen que están firmando. Incluso si la interfaz parece correcta, la transacción subyacente puede ser redirigida en segundo plano.”

El código malicioso fue diseñado para robar criptomonedas. El atacante escanea cadenas en busca de direcciones de billeteras crypto, poniendo en riesgo a quienes trabajan en aplicaciones relacionadas con criptomonedas.

El malware operaba silenciosamente dentro del navegador sin que el usuario lo supiera, reescribiendo direcciones de billeteras y redirigiendo fondos a cuentas controladas por el atacante. Secuestra y manipula directamente transacciones en Bitcoin, Ethereum, Solana, Tron, Litecoin y Bitcoin Cash en un sistema comprometido.

Para lograr esto, el código malicioso monitoreó interfaces de programación de aplicaciones del navegador como fetch y interfaces de billetera como window.ethereum.

El código malicioso “intercepta silenciosamente la actividad crypto y Web3 en el navegador, manipula interacciones de billeteras y reescribe destinos de pago de modo que los fondos y aprobaciones sean redirigidos a cuentas controladas por el atacante sin señales evidentes para el usuario,” dijo Erickson.

Una vez finalizado, el malware cubre sus rastros mientras permanece en segundo plano para interceptar cualquier transacción futura en la red de la víctima desprevenida.

Dada la gravedad del ataque, Charles Guillemet, CTO del proveedor de carteras hardware Ledger, advirtió a los usuarios de criptomonedas que sean cautelosos al confirmar transacciones en cadena. Los paquetes afectados, señaló en la publicación, ya han sido descargados más de 1 mil millones de veces.

El ataque a gran escala a la cadena de suministro, compartió con la comunidad, está apuntando a carteras de software crypto con la carga maliciosa “intercambiando silenciosamente direcciones crypto al instante para robar fondos.”

“Si utilizas una cartera hardware, presta atención a cada transacción antes de firmar y estarás seguro. Si no utilizas una cartera hardware, abstente de realizar cualquier transacción en cadena por ahora.”

– Guillemet

Mientras tanto, 0xngmi, el fundador seudónimo de DefiLlama, una plataforma de análisis crypto, tomó X para compartir que “el área de impacto efectiva es mucho menor que “todos los sitios web”‘, ya que solo los proyectos que fueron actualizados después de que se publicara el paquete npm infectado con malware pueden estar en riesgo. Aún así, “es más seguro evitar usar sitios web crypto hasta que esto pase y limpien los paquetes malos,” añadió.

Al final, los hackers solo pudieron robar $50 en criptomonedas de un ataque tan masivo a la cadena de suministro. Los $50 incluyen Ether y un montón de meme coins como Brett y Andy, entre otros.

Got only $50?

 

Sin embargo, fue más suerte que otra cosa, como señaló la plataforma de inteligencia crypto Security Alliance en X:

“Esto podría haber sido mucho peor. Un backdoor desplegado sigilosamente que apuntaba a máquinas de desarrolladores con foco en persistencia podría haber permanecido bajo el radar por quién sabe cuánto tiempo.”

Desde entonces, muchas aplicaciones crypto como Aave, Uniswap, Ledger, Jupiter, MetaMask, Phantom, Blast y otras han notificado a sus audiencias que están seguras del ataque npm.

Aunque el ataque ha fallado, es un recordatorio contundente para los desarrolladores de que, para una seguridad máxima, deben ir más allá de su propio código. Incluso las dependencias de software que han sido confiadas y ampliamente usadas pueden ser comprometidas en cualquier momento.

Aquí, plataformas de codificación como GitHub y npm también deben hacer más para garantizar la seguridad de los paquetes ampliamente utilizados.

“Los paquetes más populares deberían requerir una atestación de que provienen de una procedencia confiable y no simplemente de forma aleatoria desde algún lugar en Internet.”

– Eriksen

One of the best things npm could do

 

Los compromisos de repositorios de código, después de todo, pueden ser extremadamente desastrosos para los desarrolladores, quienes pueden terminar abandonando sus proyectos completos como resultado de un incidente así.

El incidente es un testimonio de cuán interconectado y vulnerable es el ecosistema de software actual a la explotación. Una sola cuenta comprometida puede proporcionar a los atacantes un alcance masivo, lo que hace crítico implementar medidas mejoradas de seguridad en la cadena de suministro en cada paso del proceso de desarrollo.

Protegiéndose contra la amenaza de malware de rápido crecimiento 

Con las amenazas de malware en aumento y los ataques volviéndose más avanzados y dirigidos, es importante que los usuarios estén informados y siempre sean vigilantes en todas las plataformas.

El software malicioso o malware es, de hecho, uno de los tipos más comunes de ciberataques. Aquí, los atacantes desarrollan un código de software o programa informático con la intención de obtener acceso o causar daño al ordenador de la víctima sin que ésta sepa que ha sido comprometida.

Cada año, miles de millones de ataques de malware ocurren en todo el mundo en todo tipo de dispositivos y sistemas operativos. Con el malware, los ciberdelincuentes toman como rehenes no solo dispositivos sino también redes empresariales completas.

Al obtener acceso no autorizado a los dispositivos de la víctima, los atacantes roban activos digitales y datos sensibles, incluidos credenciales de inicio de sesión, números de tarjetas de crédito y otra información valiosa. Los ataques de malware están apuntando cada vez más a empresas debido a que estas poseen grandes cantidades de datos personales, que los hackers pueden explotar para extorsionar sumas considerables de dinero.

Los datos muestran que la mayoría (59 %) de las organizaciones fueron objeto de dicho ataque en 2024. Incluso las empresas más pequeñas no están a salvo, con un 47 % de ellas afectadas por ransomware el año pasado. Mientras tanto, el pago medio de rescate se disparó un 500 % hasta 2 millones de dólares durante ese período.

El coste medio de recuperación de un ataque de malware también ha aumentado hasta 2,73 millones de dólares. Una de las mayores amenazas que enfrenta Internet actualmente es el malware, que puede adoptar diversas formas con el único propósito de dañar los sistemas informáticos y sus usuarios.

Virus, ransomware, troyanos, gusanos, spyware, adware y crypto‑jacking son todos diferentes tipos de malware. Todos estos están diseñados para obtener acceso no autorizado a una red o dañar sistemas informáticos.

En cuanto a las causas raíz de los ataques, la mayor, con un 32 %, es la explotación de vulnerabilidades por parte de los atacantes, seguida de credenciales comprometidas (29 %) y luego correos electrónicos maliciosos (23 %).

Ahora, ¿cómo puede uno prevenirse de esta amenaza constante? El primer y más sencillo paso es mantener siempre tu computadora y software actualizados. Además, es fundamental que no hagas clic indiscriminadamente en cualquier cosa en Internet. Especialmente como usuario de criptomonedas, se debe sospechar de los enlaces y, absolutamente, no descargar nada de lo que no estés seguro.

Lo mismo aplica a cualquier archivo adjunto de correo electrónico. Ten cuidado al abrir correos sospechosos y trata de limitar al máximo el intercambio de archivos. Es prudente tener software antivirus instalado en tu dispositivo.

Aunque inevitable, las organizaciones también pueden prepararse contra ataques de malware reforzando sus defensas. Las formas más sencillas de hacerlo son mediante el uso de contraseñas fuertes, autenticación multifactor y VPNs, que los individuos también pueden usar para protegerse de manera más eficaz.

Las organizaciones deben monitorear constantemente los dispositivos en busca de señales de actividad sospechosa, evaluar cualquier vulnerabilidad y realizar pruebas de penetración. Las copias de seguridad de datos sensibles en unidades desconectadas de la red, por su parte, ayudarán en la recuperación de ataques de malware.

Los empleados deben ser capacitados para detectar mejor dichos ataques y responder rápidamente, disponiendo de planes de respuesta a incidentes y sabiendo a quién contactar al sospechar una amenaza de malware.

Al utilizar la arquitectura de red de confianza cero, las empresas pueden garantizar que nadie acceda a datos o activos que no le correspondan. En la confianza cero, los usuarios nunca son confiados y siempre verificados.

En la vida hiper‑digital de hoy, estas prácticas pueden ayudar a uno a protegerse contra los peligros de un mundo cada vez más interconectado.

En lo que respecta a protegerse de paquetes maliciosos, las recomendaciones generales de seguridad contra malware también se aplican a los ataques npm, pero, por supuesto, existen precauciones adicionales y específicas que también deben tomarse debido a que el ecosistema es particularmente vulnerable por su naturaleza abierta, la reutilización intensiva de paquetes pequeños y los extensos árboles de dependencias.

Para protegerte de esta amenaza seria, debes siempre verificar que el paquete sea confiable antes de instalarlo. Verificar la integridad del paquete garantizará que tu árbol de dependencias no haya sido manipulado.

Al buscar señales de ilegitimidad, además de la fuente y propiedad del paquete, examina cualquier cambio realizado en los mantenedores. También puedes investigar qué hacen los paquetes y la necesidad que tienen.

Utiliza herramientas de seguridad que monitoreen continuamente nuevas amenazas y ofrezcan consejos accionables para mitigar la situación. Se pueden ejecutar comprobaciones npm audit para vulnerabilidades conocidas en las dependencias del proyecto. Implementar escaneos de seguridad automatizados antes del despliegue, por su parte, asegurará que solo el código revisado y aprobado llegue a producción.

Ahora, para protegerte del último ataque de malware, necesitas fijar los paquetes afectados a sus versiones más seguras antes del compromiso mediante la función overrides en package.json.

Ejecuta npm audit o utiliza herramientas de análisis de composición de software (SCA) para verificar versiones afectadas en tu árbol de dependencias. Monitorea cualquier Indicador de Compromiso (IoC) revisando tus registros de compilación, entornos de desarrollo y tráfico saliente en busca de actividad sospechosa.

Haz clic aquí para obtener una lista de las cinco principales empresas que combatieron los ciberataques.

Reflexiones finales: Fortaleciendo las dependencias de código abierto

Las amenazas en Internet están en constante aumento y se vuelven más sofisticadas.

Con los atacantes recurriendo a nuevos vectores de ataque y apuntando a proyectos con recursos limitados, se vuelve crucial que desarrolladores, empresas y usuarios no esperen a que la amenaza aparezca antes de actuar, sino que tomen medidas proactivas porque un eslabón débil puede derribar todo un sistema.

Es manteniéndose informado sobre amenazas emergentes y auditando continuamente las cadenas de suministro de software y monitoreando las amenazas que realmente podemos protegernos contra los riesgos cibernéticos en constante evolución.

Haz clic aquí para obtener una lista de las cinco principales empresas públicas que pagaron a los atacantes cibernéticos.

Gaurav comenzó a operar con criptomonedas en 2017 y se enamoró del espacio cripto desde entonces. Su interés en todo lo relacionado con criptomonedas lo convirtió en un escritor especializado en criptomonedas y blockchain. Pronto se encontró trabajando con empresas de criptomonedas y medios de comunicación. También es un gran fanático de Batman.