Adiós a los Tokens Eternos: npm revoluciona su seguridad tras el incidente “Sha1-Hulud”, pero ¿es suficiente?

Un ataque de cadena de suministro a gran escala Un reciente ataque a la cadena de suministro ha puesto en riesgo al ecosistema de desarrolladores que utilizan NPM, la plataforma más popular para la gestión de paquetes en JavaScript. Atacantes lograron inyectar código malicioso en múltiples librerías con más de 2.6 mil millones de descargas semanales, tras comprometer la cuenta de un mantenedor mediante un correo de phishing que imitaba al soporte oficial de npmjs.com. El mantenedor afectado, Josh Junon, confirmó el incidente y señaló que el correo fraudulento advertía que su cuenta sería bloqueada si no actualizaba su autenticación multifactor (2FA), forzando así a que ingresara credenciales en un sitio controlado por los atacantes. Paquetes afectados y alcance de la intrusión Entre los paquetes comprometidos se encuentran algunos de los más utilizados en proyectos globales: chalk (299.9M descargas semanales) debug (357.6M) ansi-styles (371.4M) strip-ansi (261.1M) supports-color (287.1M) color-convert (193.5M) Entre otros, sumando más de 18 librerías populares. Estos paquetes fueron modificados para incluir código malicioso en archivos index.js, diseñado para interceptar interacciones web y manipular operaciones relacionadas con criptomonedas como Bitcoin, Ethereum, Solana, Tron y Litecoin. El malware alteraba funciones críticas de JavaScript (fetch, XMLHttpRequest, window.ethereum) con el objetivo de redirigir transacciones a billeteras controladas por los atacantes. Cómo operaba el malware El código malicioso actuaba de forma silenciosa en el navegador, alterando tanto el contenido mostrado como las interacciones con APIs y aplicaciones web3. Esto permitía manipular direcciones de pago y aprobar transacciones fraudulentas sin que el usuario lo notara. Según Aikido Security, la complejidad del ataque radica en que operaba en múltiples capas, combinando técnicas de manipulación visual con la interceptación de tráfico de red. Impacto y limitaciones Aunque la magnitud del ataque es significativa, expertos señalan que el impacto puede haberse reducido debido a factores como: Solo afectó instalaciones nuevas realizadas entre las 9:00 y 11:30 AM ET del día del compromiso. Requería que el archivo package-lock.json fuera generado en ese mismo periodo. Dependencias directas o transitivas debían incluir versiones comprometidas. Aun así, el incidente confirma la creciente tendencia de ataques contra cadenas de suministro en el ecosistema open source, donde una sola cuenta comprometida puede afectar a millones de proyectos. Lecciones para las empresas Este ataque subraya la necesidad de fortalecer controles en la gestión de dependencias y librerías de terceros: Implementar monitoreo continuo de integridad en paquetes críticos. Adoptar políticas estrictas de actualización y validación de librerías externas. Usar repositorios privados o proxies internos para reducir exposición a cambios no controlados. Reforzar la concienciación en phishing, ya que la intrusión comenzó con un engaño de ingeniería social. Conclusión: El caso de NPM recuerda que las organizaciones deben tratar las dependencias externas con el mismo nivel de seguridad que el software interno. Un simple clic en un correo de phishing puede convertirse en un ataque global con repercusiones multimillonarias.

GitHub y npm completan una revisión masiva de autenticación para frenar los ataques a la cadena de suministro. Los tokens clásicos de larga duración han muerto, pero los expertos advierten que el phishing sigue siendo el talón de Aquiles. 

Si eres desarrollador de JavaScript, tu flujo de trabajo acaba de volverse más estricto (y más seguro). Hoy 13 de febrero de 2026, que el registro de paquetes npm ha finalizado una actualización crítica de su infraestructura de seguridad en respuesta a la oleada de ataques de 2025, incluyendo el infame incidente “Sha1-Hulud”. 

Históricamente, npm dependía de “tokens clásicos”: credenciales que nunca expiraban y tenían permisos amplios. Si un atacante robaba uno, podía inyectar malware en paquetes populares indefinidamente. Eso se acabó. 


Los Cambios: Muerte al Token Clásico 

La nueva política de npm impone un cambio radical en cómo publicamos código: 

  • Revocación Masiva: Todos los tokens clásicos antiguos han sido revocados. 
  • Tokens de Sesión: Ahora, por defecto, se utilizan tokens de corta duración. 
  • Flujos Interactivos: Para publicar un paquete desde la terminal (npm publish), ahora se requiere una sesión interactiva que dura típicamente solo dos horas y exige autenticación multifactor (MFA) en el momento. 
  • Publicación de Confianza (OIDC): Se incentiva el uso de OpenID Connect para sistemas de CI/CD (como GitHub Actions), eliminando la necesidad de guardar secretos estáticos en los repositorios. 

La Crítica: El Problema Humano Persiste 

A pesar de estos avances, expertos de seguridad advierten que la puerta no está cerrada del todo. 

  • El Factor Phishing: El ataque original a paquetes como chalk y debug no fue por fuerza bruta, sino por phishing dirigido a los mantenedores para robar sus códigos MFA. Los nuevos tokens de sesión, aunque cortos, todavía pueden ser robados si el desarrollador es engañado en el momento justo. 
  • MFA Opcional: Sorprendentemente, los desarrolladores aún pueden generar tokens de 90 días con el “bypass de MFA” habilitado para automatización legacy, reintroduciendo el riesgo que se intentaba eliminar. 

El Dato Alarmante 

Según el análisis, en el 98.5% de los paquetes maliciosos encontrados en npm, el malware no estaba en el código fuente del repositorio (GitHub), sino que fue inyectado solo en el artefacto publicado en npm. Esto resalta la importancia de construir desde el código fuente verificado y no confiar ciegamente en lo que descargamos de los registros públicos. 


¿Qué debes hacer como Dev? 
  • Revisa tus Tokens: Ve a tu perfil de npm y asegúrate de no tener tokens de automatización antiguos activos. 
  • Adopta OIDC: Si usas GitHub Actions, migra tus flujos de publicación a “Trusted Publishing” para no depender de secretos almacenados. 
  • Vigilancia: Ten cuidado con correos que parezcan venir de npm pidiendo “re-autenticar” tu cuenta urgentemente; suelen ser el preludio de un ataque de robo de paquetes. 

Related Post