
Para mejorar la seguridad en la cadena de suministro de software, GitHub ha implementado nuevos controles en npm que permiten a los mantenedores aprobar explícitamente las versiones antes de que un paquete esté disponible públicamente para su instalación.
Esta característica, llamada implementación gradual, actualmente está disponible de forma generalizada en npm. Esto requiere que los mantenedores humanos aprueben los paquetes pasando un desafío de autenticación de dos factores (2FA) antes de enviarlos a npmjs(.)com.
«En lugar de la publicación directa, que hace que las versiones empaquetadas estén inmediatamente disponibles para los consumidores, los archivos comprimidos prediseñados se cargan en una cola de etapa y deben ser aprobados explícitamente por el mantenedor antes de que puedan instalarse», dijo GitHub.
La subsidiaria propiedad de Microsoft dijo que el cambio garantiza «prueba de existencia» para todas las publicaciones, incluidos los flujos de trabajo de CI/CD no interactivos y las publicaciones de publicaciones confiables que utilizan la autenticación OpenID Connect (OIDC).
Antes de utilizar la publicación por etapas, los administradores de paquetes deben cumplir los siguientes criterios:
Tiene acceso público al paquete. No puede preparar un paquete nuevo porque el paquete ya existe en el registro npm. La 2FA está habilitada para su cuenta.
Los desarrolladores pueden enviar paquetes al área de preparación usando el comando ‘npm stage public’ desde el directorio raíz del paquete. Para utilizar este comando, debe actualizar a npm CLI 11.15.0 o posterior. Para una protección óptima, GitHub recomienda una combinación de publicación por etapas y publicación confiable utilizando OIDC.
La segunda actualización centrada en npm implica la introducción de tres nuevos indicadores de fuente de instalación además del indicador existente -allow-git.
–allow-file: controla la instalación desde rutas de archivos locales y archivos tar locales. –allow-remote: controla la instalación desde URL remotas, incluidos archivos tar https. –allow-directory: controla la instalación desde directorios locales.
Esta bandera permite a los desarrolladores «aplicar el mismo enfoque explícito de lista blanca a todas las fuentes de instalación que no sean de registro», dice GitHub.
El desarrollo se produce en medio de un aumento masivo de ataques a la cadena de suministro de software dirigidos a ecosistemas de código abierto en los últimos meses, con un grupo de cibercrimen conocido como TeamPCP trabajando para contaminar paquetes populares en una escala sin precedentes a través de ciclos de compromiso que se perpetúan a sí mismos.
Source link
