Un ataque generalizado a la cadena de suministro de NPM sacude el ecosistema de JavaScript

Actualización definitiva: 09/11/2025
  • Las credenciales de mantenimiento comprometidas permitieron actualizaciones maliciosas de paquetes NPM ampliamente utilizados, con descargas que superaron los mil millones.
  • Las cargas útiles sigilosas utilizaban cargadores de múltiples etapas y ofuscación Base64, dirigidos a pipelines de CI y entornos de desarrolladores.
  • El impacto abarcó miles de proyectos posteriores, aunque hasta ahora el robo en cadena parece estar limitado a menos de 200 dólares.
  • Las pautas de seguridad enfatizan la firma clara, las billeteras de hardware con pantallas seguras y una higiene de credenciales NPM/CI más estricta.

Ilustración de un ataque a la cadena de suministro de NPM

noticia de un violación a gran escala de la cadena de suministro de NPM Inquietó tanto a desarrolladores como a usuarios de criptomonedas después de que, según se informó, la cuenta de un mantenedor de confianza fuera pirateada, lo que permitió que versiones con puertas traseras fluyeran al ecosistema de JavaScript. Las advertencias públicas sobre X indicaron que los paquetes afectados se habían acumulado más de... mil millones de descargas de por vida, lo que aumenta las apuestas para los equipos que dependen de dependencias de JS en billeteras, dApps, plataformas SaaS y canalizaciones de compilación.

Los primeros comentarios enmarcaron el incidente como otra vuelta de tuerca al typosquatting, pero el análisis posterior apunta a algo más Compromiso selectivo de las credenciales del mantenedor y la publicación de módulos maliciosos bajo nombres legítimos. Si bien la telemetría hasta la fecha muestra... Robo limitado en la cadenaLa amplitud de la exposición subraya la rapidez con la que los problemas de la cadena de suministro de código abierto pueden extenderse a los entornos criptográficos y empresariales.

Qué pasó y por qué es importante

Los líderes de seguridad, incluido el director de tecnología de Ledger, Charles Guillemet, advirtieron que el código malicioso fue diseñado para Intercambiar silenciosamente direcciones de billeteras de criptomonedas durante los flujos de firma, lo que podría redirigir fondos a atacantes si los usuarios no detectan el cambio. La advertencia enfatizó que cualquier dApp o billetera de software que integra paquetes JS comprometidos Podría quedar expuesto incluso si la aplicación en sí nunca manejó las claves directamente.

Guillemet también reiteró las mejores prácticas para los usuarios finales: evitar la firma a ciegasy prefieren billeteras de hardware con pantallas seguras que admitan firmas claras para que la dirección de destino final se verifique en una pantalla confiable. Las billeteras que no tienen una pantalla segura o compatibilidad con firmas claras se encuentran en una situación... riesgo elevado porque no existe una forma confiable de validar los detalles de la transacción de extremo a extremo.

Riesgo del ecosistema de JavaScript

Alcance, difusión y objetivos

Los investigadores que siguieron la campaña observaron que las actualizaciones con puerta trasera se propagó rápidamente en todo el gráfico de dependencia, afectando a SaaS empresarial, herramientas para desarrolladores e incluso proyectos educativos. Las estimaciones sugieren que Más de 4,500 proyectos downstream ingirió al menos una versión contaminada antes de que los mantenedores revirtieran las versiones afectadas.

Equipos en Wiz.io marcados Actividad de red inusual originándose en las tuberías de CI poco después de las actualizaciones rutinarias de la biblioteca, una pista temprana de que podrían estar involucrados comportamientos posteriores a la instalación o en tiempo de compilación. Los atacantes se apoyaron en Versiones cuidadosas y cambios sutiles para integrarse en los ciclos de lanzamiento normales y evitar activar la detección de anomalías básicas.

Visualización de compromisos en la cadena de suministro

Cómo funcionaba la carga maliciosa

Según se informa, la cadena de malware se basaba en un infección en múltiples etapas Estrategia. Un paso posterior a la instalación aparentemente benigno obtuvo un cargador ligero, que luego contactó con los dominios controlados por el atacante para recuperar una carga útil de segunda etapa. Para reducir la detección, Las URL y los blobs de datos estaban ofuscados (por ejemplo, Base64) y la ejecución estaba controlada por comprobaciones condicionales.

En lugar de una destrucción manifiesta de datos, la segunda etapa tomó muestras variables de entorno y metadatos del sistema, preparando puntos de apoyo y permitiendo descargas posteriores. Los investigadores dicen que el cargador podría instalar un servicio en segundo plano persistente bajo el perfil del usuario, sobreviviendo a las eliminaciones de paquetes y manteniendo el acceso a través de reinicios.

A pesar de la alarmante mecánica, los flujos en cadena observados vinculados a la operación han sido modestos hasta ahora: solo un Un puñado de transacciones por un total inferior a 200 dólaresEse patrón sugiere reconocimiento y construcción de persistencia más que monetización inmediata, aunque el diseño claramente apoya robo por intercambio de direcciones en flujos de trabajo de firma.

Análisis de amenazas y persistencia

Respuestas, indicadores y mitigaciones

Wiz.io informó indicadores adicionales de compromiso en sistemas CI populares, incluidos URL ofuscadas y bloques codificados en Base64 incrustado en los registros de tuberías. Sus hallazgos dieron lugar a una rápida parches de script de canalización, auditorías amplias de tokens NPM y una aplicación más estricta de la seguridad del mantenedor en las organizaciones afectadas.

Del lado del proveedor, OKX Wallet declaró que su plataforma no fue impactadoLa empresa destacó el desarrollo nativo de iOS/Android para su aplicación móvil (lo que limita la dependencia de JavaScript integrado), el aislamiento entre las extensiones del navegador, la aplicación web y los componentes de navegación de la dApp, y prácticas de defensa en profundidad como almacenamiento en frío del 95 %, bóvedas multifirma semi-fuera de línea, detección de amenazas impulsada por IA y 2FA obligatoria.

OKX también instó a los usuarios a mantenerse alertas con las integraciones de terceros: inspeccionar las bases de código de la billetera Siempre que sea posible, verifique cada transacción antes de firmarla. La reacción de la comunidad fue mayoritariamente positiva, señalando que comunicación clara y oportuna Ayuda a contener el pánico y a centrar los esfuerzos de remediación en todo el ecosistema.

Para los mantenedores y los equipos, los pasos prácticos ahora incluyen: Habilitación de 2FA en NPM, restringir y rotar tokens de acceso, ámbitos con privilegios mínimos para CI, fijar dependencias y verificar la integridad (sumas de comprobación, procedencia/SLSA cuando esté disponible), auditoría de scripts posteriores a la instalacióny controles de salida en entornos de compilación. Para los usuarios finales, las billeteras de hardware con pantallas seguras y firma clara siguen siendo una tope de seguridad fiable contra la manipulación encubierta de direcciones.

Medidas defensivas y mejores prácticas

El episodio destaca cómo un solo compromiso de mantenimiento puede cascada a través de la cadena de suministro de NPM, pasando por alto miles de proyectos mientras solo se producen señales financieras débiles. Entre la puesta en escena sigilosa, las tácticas de persistencia y el control de versiones cuidadoso, los defensores se enfrentan a un adversario sutil, uno que prioriza el alcance y la durabilidad. Vigilancia continua, avisos transparentes y controles en capas desde el desarrollo hasta la firma será clave a medida que avance la investigación y la limpieza.

Artículos Relacionados: