GitHub habilitó en npm dos controles nuevos contra los ataques a la cadena de suministro: 2FA obligatorio para publicar y un esquema de publicación por etapas (staged publishing) que obliga a los maintainers a aprobar las versiones antes de que queden disponibles públicamente.
Qué cambia al publicar un paquete
npm es el registro de paquetes de JavaScript más grande del mundo, y por eso uno de los blancos más codiciados. Con los nuevos controles, publicar una versión exige doble factor de autenticación y pasa por una etapa intermedia de aprobación: la release queda «staged» hasta que el maintainer la confirma explícitamente. Recién ahí se vuelve instalable para el resto del ecosistema.
Por qué importa
La mayoría de los ataques recientes a registros de paquetes siguen el mismo guion: el atacante compromete las credenciales de un maintainer —por phishing, por un token filtrado— y publica a su nombre una versión envenenada que se propaga sola a través de las dependencias. El staged publishing agrega una barrera justo en ese punto: aunque alguien robe las credenciales, todavía necesita superar el 2FA y la aprobación explícita para que el paquete malicioso llegue a producción.
Es fricción, sí, pero fricción que corta la cadena de ataque en el eslabón más débil. Y llega después de una seguidilla de campañas que golpearon a npm y a otros registros con decenas de paquetes maliciosos.
Un nuevo estándar para el ecosistema JS
La medida convierte en obligatorio lo que antes era opcional, y empuja al ecosistema JavaScript hacia un piso de seguridad más alto por defecto. Para los equipos, no cambia tanto el cómo se instala, pero sí endurece el cómo se publica —que es donde se origina el problema—.
¿Suficiente para frenar los ataques a la supply chain?
El 2FA obligatorio y la publicación por etapas no eliminan el riesgo, pero suben el costo del ataque y achican la ventana de exposición. La pregunta abierta es si otros registros —PyPI, Crates, Packagist— van a seguir el mismo camino. ¿Tu equipo ya audita la procedencia de sus dependencias o lo da por sentado? Contanos en los comentarios.


