GitHub y PyPI introducen demoras para reducir el riesgo en la cadena de suministro
GitHub y el Índice de Paquetes de Python (PyPI) están incorporando medidas de protección basadas en el tiempo, diseñadas para limitar los daños causados por paquetes maliciosos recién publicados o mod...
GitHub y el Índice de Paquetes de Python (PyPI) están incorporando medidas de protección basadas en el tiempo, diseñadas para limitar los daños causados por paquetes maliciosos recién publicados o modificados. Estos cambios siguen a una serie de incidentes en la cadena de suministro que afectaron a ecosistemas populares de código abierto, incluidos ataques contra proyectos de npm y PyPI.
Dependabot añade un periodo de espera de tres días
El servicio de gestión de dependencias Dependabot de GitHub aplica ahora un periodo de espera predeterminado de 72 horas antes de proponer actualizaciones para paquetes recién publicados. Esta demora brinda a los investigadores de seguridad, los sistemas de análisis automatizado y los responsables del mantenimiento más tiempo para identificar versiones sospechosas antes de que se incorporen a los proyectos mediante flujos de trabajo de actualización automatizados.
Los ataques recientes han demostrado que los paquetes maliciosos pueden publicarse y descargarse rápidamente, mientras que su detección y eliminación suelen tardar más. GitHub describió el periodo de tres días como un compromiso entre reducir la exposición a versiones inseguras y permitir que los desarrolladores reciban actualizaciones importantes sin una demora excesiva. Las organizaciones pueden cambiar la configuración para utilizar un periodo de espera más corto o más largo en función de su tolerancia al riesgo y sus procesos de desarrollo.
GitHub también advirtió que la función no está diseñada para abordar todas las formas de vulneración de dependencias. Recomienda combinar la demora con archivos de bloqueo, tokens de acceso con permisos limitados y la desactivación de scripts innecesarios de instalación de paquetes en entornos de integración continua.
PyPI restringe los cambios en versiones antiguas
PyPI ha introducido un control independiente destinado a impedir que los atacantes manipulen versiones de paquetes ya establecidas. Los responsables del mantenimiento ya no pueden cargar nuevos archivos en una versión una vez transcurridos 14 días desde su publicación.
La política pretende reducir el riesgo de «envenenamiento de versiones», una técnica en la que un atacante que obtiene acceso a las credenciales o al flujo de trabajo de publicación de un responsable del mantenimiento añade un archivo malicioso a una versión antigua en la que los usuarios ya confían. PyPI afirmó que las cargas legítimas realizadas más de dos semanas después de la publicación son poco frecuentes, por lo que la restricción permite abordar una posible vía de ataque con una interrupción limitada.
PyPI indicó que no ha confirmado que un ataque anterior utilizara esta técnica específica y presentó el cambio como una medida preventiva. En conjunto, los controles de GitHub y PyPI proporcionan más tiempo para la revisión y la detección, pero los desarrolladores seguirán necesitando medidas de protección en varias capas, como dependencias fijadas, credenciales de publicación protegidas y supervisión continua.
