Nuevo mecanismo de publicación elimina para siempre al factor humano de la cadena de confianza.
GitHub anunció cambios importantes en el sistema de autenticación y publicación de paquetes en npm, destinados a reforzar la protección contra ataques a la cadena de suministro. La causa de las actualizaciones fue la reciente campaña Shai-Hulud — un gusano malicioso autorreplicante introducido en cientos de bibliotecas npm. No solo se duplicaba en otros paquetes, sino que también escaneaba los dispositivos de los desarrolladores en busca de datos confidenciales, incluidas claves y tokens, y los transmitía a los atacantes.
En respuesta al incidente, GitHub declaró que en breve descartará los mecanismos de autorización obsoletos e introducirá medidas de control más estrictas. Entre las novedades clave está el uso obligatorio de autenticación de dos factores para la publicación local, así como el paso a tokens de corta duración con un periodo máximo de validez de 7 días. Además, se promoverá activamente el uso del sistema Trusted Publishing, basado en el protocolo OpenID Connect, que permite publicar paquetes directamente desde CI/CD sin tokens.
Trusted Publishing crea un vínculo criptográficamente verificable entre el paquete publicado y el entorno en el que se construyó. La interfaz de línea de comandos (CLI) de npm genera y adjunta automáticamente al lanzamiento una prueba de autenticidad, de modo que cada usuario puede verificar dónde y en qué condiciones se compiló el paquete. Esta solución debería aumentar la transparencia y la confianza en los proveedores de componentes de software.
El paso al nuevo sistema incluirá los siguientes cambios:
Según GitHub, todo esto debería reducir drásticamente la capacidad de los atacantes para comprometer la infraestructura de npm mediante tokens falsos o robados, especialmente dada la magnitud de las consecuencias del ataque Shai-Hulud.
En esa campaña se utilizó un malware capaz no solo de autorreplicarse, sino también de robar varios tipos de secretos, yendo mucho más allá de la compromisión de un solo ecosistema. La empresa subraya que, de no haber sido por la intervención rápida de la comunidad y su propia reacción, las consecuencias podrían haber sido mucho más graves.
El nuevo modelo de publicación está destinado a reducir la dependencia de los tokens como punto único de fallo y a aumentar la verificación de cada acción relacionada con la publicación de paquetes. Estas medidas no solo responden a un ataque concreto, sino que representan una reestructuración estratégica de todo el sistema de seguridad, basada en los principios de minimización de privilegios y verificación criptográfica.