Envío de registros, alertas y datos de telemetría a través de un diodo de datos

Descubre cómo
Utilizamos inteligencia artificial para traducir el sitio web y, aunque nos esforzamos por garantizar la precisión, es posible que las traducciones no sean siempre 100 % exactas. Agradecemos tu comprensión.

El reciente ataque a ESLint elevaSupply Chain Software a un nuevo nivel

Por Vinh Lam, director técnico sénior de programas
Comparte esta publicación

El 18 de julio de 2025, una biblioteca de JavaScript de confianza con más de 31 millones de descargas semanales, eslint-config-prettier, fue objeto de un ataque selectivo a la cadena de suministro que pone de manifiesto lo vulnerables que pueden ser los ecosistemas de código abierto. La brecha de seguridad se inició con un correo electrónico de phishing que engañó al responsable del mantenimiento para que revelara su token. Utilizando las credenciales expuestas, el atacante publicó versiones no autorizadas del paquete, que contenían un script de postinstalación que ejecutaba un archivo DLL troyano en equipos Windows durante la instalación. 

A continuación explicamos qué ocurrió, cómo se llevó a cabo el ataque y cómo OPSWAT pueden ayudar a defenderse de amenazas similares en el futuro. 

Resumen del ataque

El popular paquete de linter de npm, eslint-config-prettier, se utiliza para desactivar reglas de ESLint innecesarias o conflictivas cuando se utiliza Prettier. Normalmente se incluye como dependencia de desarrollo en los entornos de desarrollo integrados (IDE) locales y en los procesos de integración continua (CI), pero eso no ha impedido que se convirtiera en un vehículo para el malware.

El ataque se desarrolló de la siguiente manera:

1. Un correo electrónico de phishing que simulaba proceder de support@npmjs.org engañó al responsable del mantenimiento para que hiciera clic en un enlace malicioso (creado mediante typosquatting como npnjs.com). Al seguir el enlace, el responsable del mantenimiento reveló sin saberlo su token de acceso a npm, que el atacante utilizó para publicar versiones maliciosas del paquete.

2. A continuación, el atacante utilizó el token de npm robado para publicar versiones maliciosas del eslint-config-prettier paquete. Según los informes de los desarrolladores, se han identificado cuatro versiones afectadas: 8.10.1, 9.1.1, 10.1.6 y 10.1.7

    Además, dado que el atacante tenía acceso al token comprometido, también se vieron afectados otros paquetes mantenidos por el mismo autor, entre ellos: eslint-plugin-prettier, synckit, @pkgr/core, y napi-postinstall

    Captura de pantalla del código que muestra cambios sospechosos en scripts y archivos relacionados con un ataque a la cadena de suministro de software en un resumen del ataque

    3. El atacante añadió dos archivos sospechosos al código fuente: install.js y node-gyp.dll.

    Cuando un usuario descarga e instala una de las versiones no autorizadas del paquete, el install.js se ejecuta el script, lo que activa un node-gyp.dll en sistemas Windows a través de rundll32

    Código malicioso resaltado en JavaScript que muestra una llamada a «require» ofuscada, lo que ilustra un ataque a la cadena de suministro de software

    Técnicas de ataque utilizadas

    Phishing e ingeniería social

    El correo electrónico falso logró eludir con éxito las medidas básicas de protección del correo electrónico (SPF/DKIM/DMARC) y se hizo pasar por el servicio de asistencia de npm.

    Typosquatting

    Se utilizó un dominio engañoso (npnjs.com), diseñado para parecerse a npmjs.com, con el fin de robar credenciales. Se trata de una técnica clásica de typosquatting.

    Ofuscación de código mediante la concatenación de cadenas

    La versión del paquete malicioso incluía un script de postinstalación (install.js) que se ejecutaba automáticamente tras la instalación.

    En el interior, una función llamada logDiskSpace() Parecía inofensivo, pero no comprobaba en absoluto el espacio en disco. En su lugar, utilizaba la concatenación de cadenas para armar un comando que ejecutaba rundll32.exe, y cargó un archivo DLL (node-gyp.dll) incluidos en el paquete.

    Secure de forma proactiva el código Secure y el software de código abierto con OPSWAT

    MetaDefender Software Chain™ ayuda a las organizaciones a detectar y bloquear las dependencias de código abierto maliciosas antes de que entren en su canalización de CI/CD.

    • Detección multiantivirus: detecta malware ofuscado, como node-gyp.dll, mediante más de 30 motores antimalware integrados a través de Metascan™ Multiscanning.
    • Integración con repositorios de código fuente: se integra con GitHub, GitLab y JFrog Artifactory para inspeccionar y verificar de forma continua la integridad de los paquetes.
    OPSWAT que muestra los riesgos de ataques a la cadena de suministro de software, las vulnerabilidades y la detección de amenazas para los paquetes npm
    La tecnología OPSWAT detecta el CVE-2025-54313 en la versión 10.1.7 de eslint-config-prettier
    OPSWAT que muestra las amenazas detectadas en el nodo gyp.dll, destacando los riesgos de ataques a la cadena de suministro de software
    La tecnología OPSWAT ha detectado el archivo node-gyp.dll

    El vector de ataque comenzó con un correo electrónico, y ahí es donde entra en juego MetaDefender Email Security

    • Extracción de hipervínculos: Todos los enlaces se muestran en texto sin formato, lo que permite detectar dominios falsos como npnjs.com antes de que el usuario haga clic.
    Comparación de dos correos electrónicos de npm en los que se señalan direcciones URL sospechosas para ilustrar el riesgo de un ataque a la cadena de suministro de software
    Un ejemplo sobre la «correo electrónico original» frente al «uso de la tecnología ESG + Deep CDR™»

    Puntos clave

    • La seguridad de los mantenedores es la seguridad de la cadena de suministro. Un solo token obtenido mediante phishing permitió a los atacantes secuestrar bibliotecas de uso generalizado.
    • Los ecosistemas de código abierto se basan en la confianza, pero un solo caso de ingeniería social que tenga éxito puede repercutir en millones de proyectos derivados.
    • Las medidas de seguridad proactivas, como el análisis de dependencias y la depuración del correo electrónico, ya no son opcionales, sino imprescindibles.

    ¿Qué hacer ahora?

    • Evita instalar las versiones afectadas:
      • eslint-config-prettier: 8.10.1, 9.1.1, 10.1.6, 10.1.7
      • eslint-plugin-prettier: 4.2.2, 4.2.3
      • synckit: 0.11.9
      • @pkgr/core: 0.2.8
      • napi-postinstall: 0.3.1
    • Rotar las claves utilizadas en las compilaciones afectadas
    • Activar la autenticación de dos factores (2FA) para todas las cuentas de npm
    • Impartir formación sobre concienciación contra el phishing

    Los ataques a la cadena de suministro son cada vez más sofisticados y personalizados. Con las soluciones de «cero confianza» OPSWATpara el correo electrónico y los procesos de desarrollo, podrás adelantarte al próximo ataque.

    Más información sobre MetaDefender Software Supply Chain y MetaDefender Email Security. Ponte en contacto con uno de nuestros expertos para encontrar soluciones a medida para tu organización.

    ¡Mantente al día con OPSWAT!

    Regístrate hoy mismo para recibir las últimas novedades de la empresa, historias, información sobre eventos y mucho más.