Reproducibilidad en PyPI: qué falta para lograr builds reproducibles

What's missing to have reproducible builds on PyPI

Reproducibilidad en PyPI: qué falta para lograr builds reproducibles

El autor analiza la falta de un mecanismo definido para builds reproducibles en PyPI, clave para la seguridad de la cadena de suministro. Propone registrar el código fuente y el software utilizado en la construcción, aprovechar los SBOM para wheels y resolver la limitación de los sdists. Además, sugiere que verificadores independientes puedan confirmar la reproducibilidad en PyPI, beneficiando a toda la comunidad.

Si registramos toda la información sobre el software utilizado para construir una distribución, podremos reproducir exactamente los mismos bits y demostrar que nada fue manipulado.
  1. edelbitter

    > este archivo fue reproducido de forma independiente por <nombre de la parte confiable>

    Suena arriesgado, a menos que se combine con una política sólida sobre lo que debe hacer un verificador.

    Por ejemplo, si el verificador simplemente otorga acceso de red al buildbot que luego verifica cómo debería verse el resultado, entonces el compromiso podría permanecer invisible mientras la etiqueta se degrada silenciosamente a "descargado de forma independiente por".

    Y no espero que haya muchas partes dispuestas a ofrecer ese servicio más allá de sus propias necesidades, y que al mismo tiempo no ya estén ofreciendo ese servicio en lugares donde la infraestructura y las políticas ya están establecidas (como Debian). O al menos ya contribuirían a las dependencias de compilación que no rompen la reproducibilidad en cada cambio de versión.

  2. whateverboat

    Para Python, parece muy difícil hacer builds reproducibles de una manera que sea útil, porque las ruedas de Python tienen suposiciones muy implícitas sobre rutas y entornos que no ocurren en ningún otro lugar.

  3. crabbone

    Estas personas están tan perdidas en su mundo de fantasía...

    > Así que o nos encogemos de hombros y decimos: "no uses sdists si quieres builds reproducibles",

    ¿Qué es esto? No puedo ni... ¿Cómo puede alguien esperar tener un artefacto de build reproducible si descargó el código fuente?

    Ahora, y lo más importante, todo este discurso trata sobre paquetes "puros" (es decir, solo Python). Esto es, prácticamente, inútil para la mayoría de los proyectos reales de Python porque dependen de enlaces nativos. ¿Por qué alguien debería esperar que PyPI pueda compilar esos si no existe un procedimiento estándar para construirlos? Es más allá de la comprensión.

Más de este día

2026-08-20