
GitHub ha anunciado oficialmente el lanzamiento de npm versión 12, con los scripts de instalación deshabilitados de forma predeterminada y la desactivación de los tokens de acceso granular (GAT), que están diseñados para evitar la autenticación de dos factores (2FA).
La subsidiaria propiedad de Microsoft ha observado que las siguientes operaciones de instalación de npm, que antes se ejecutaban automáticamente, ahora están habilitadas:
El valor predeterminado para enableScripts está desactivado. Esto significa que los scripts del ciclo de vida de las dependencias (es decir, preinstalación, instalación, postinstalación) y las compilaciones implícitas del nodo GYP ya no se ejecutarán a menos que se permitan explícitamente. –allow-git por defecto es ninguno. Es decir, –allow-git por defecto es ninguno. Las dependencias de Git (directas o transitivas) ya no se resuelven a menos que se permita explícitamente. –allow-remote tiene el valor predeterminado ninguno. Esto significa que las dependencias de URL remotas (como archivos tar https) ya no se resolverán a menos que se permita explícitamente.
Para revisar y aprobar scripts confiables, los usuarios deben ejecutar «npm Approve-scripts –allow-scripts-pending» y enviar la lista de permitidos resultante al archivo «package.json».
Vale la pena señalar que estos cambios se obtuvieron una vista previa el mes pasado y GitHub recomienda a los desarrolladores actualizar a npm 11.16.0 o posterior, ejecutar el comando de instalación normal y revisar las advertencias que aparecen.
La última versión de npm también introduce dos nuevos cambios.
npm GAT configurado para omitir 2FA ya no podrá realizar acciones confidenciales de administración de cuentas, paquetes y organizaciones. Esto incluye crear o eliminar tokens, generar códigos de recuperación y cambiar la contraseña, el correo electrónico, el perfil o la configuración de 2FA de su cuenta npm, cambiar el acceso a los paquetes, los mantenedores o la configuración de publicación confiable, y administrar la membresía de la organización y el equipo y las concesiones de paquetes. npm GAT ya no conservará la capacidad de exponer directamente. Su lado público se limita a leer paquetes privados y prepararlos para su publicación, y los paquetes solo se publican después de la aprobación humana de 2FA.
Se espera que el primero de los dos cambios entre en vigor a principios de agosto de 2026. Mientras tanto, le recomendamos que deje de utilizar tokens de omisión de 2FA en las operaciones descritas anteriormente y, en su lugar, las realice de forma interactiva utilizando 2FA. El segundo cambio está previsto para enero de 2027.
«En preparación, planee trasladar la publicación automática a una publicación confiable (OIDC) o una publicación por etapas con pasos de aprobación humana, en lugar de tokens públicos de larga duración», dice GitHub.
Este desarrollo se produce cuando pnpm 11.10 introduce una nueva configuración «_auth» para configurar la autenticación del registro como un valor de clave de URL estructurada única.
«El beneficio de seguridad es que la credencial y el host al que pertenece viajan juntos. pnpm solo lee _auth del entorno o de la configuración global, nunca de los archivos del proyecto», explicó Socket.
«Esto significa que un pnpm-workspace.yaml o .npmrc malicioso o comprometido en un repositorio no puede apuntar a un token válido en otro host. Un archivo de proyecto manipulado es una forma común para que los atacantes se afiancen, y redirigir un token de registro es una ruta directa para robarlo, por lo que cerrar esa ruta significa que ya no estás en riesgo».
Source link
