Los desarrolladores de la distribución openSUSE han informado sobre los avances del proyecto para garantizar el soporte de compilaciones reproducibles. En el marco del proyecto se ha preparado un fork conceptual de la distribución Reproducible-openSUSE (RBOS), para el cual se ha logrado la posibilidad de compilar paquetes binarios 100% idénticos basados en el repositorio propuesto con los códigos fuente, que cuenta con 3300 paquetes. En el proceso de trabajo sobre el proyecto se han preparado alrededor de 40 parches (1, 2, 3) que resuelven problemas con la recompilación reproducible de paquetes. Aproximadamente la mitad de estos parches ya han sido transferidos a proyectos upstream. Las compilaciones de Reproducible-openSUSE están disponibles solo para pruebas y no se recomiendan para su uso en sistemas en producción, ya que no se generan actualizaciones para abordar vulnerabilidades.
El proyecto permite al usuario crear sus propias compilaciones, que coinciden exactamente con las compilaciones listas para cargar, para asegurarse de que los archivos binarios distribuidos en los paquetes fueron construidos a partir de los códigos fuente proporcionados y no contienen cambios ocultos. La capacidad de verificar la igualdad de la compilación binaria permite no depender únicamente de la confianza en la infraestructura de compilación de la distribución, cuya compromisión del compilador o del conjunto de herramientas puede llevar a la inserción de puertas traseras ocultas.
Al generar compilaciones reproducibles se tienen en cuenta detalles como la coincidencia exacta de dependencias, el uso de conjuntos de herramientas de compilación inalterados y sus versiones, un conjunto idéntico de opciones y configuraciones predeterminadas, la preservación del orden de compilación de archivos (aplicación de los mismos métodos de clasificación), la desactivación de la inclusión de información de servicio no determinista por parte del compilador, como valores aleatorios, referencias a rutas de archivos y datos sobre la fecha y hora de compilación. Además, los errores y condiciones de carrera en las herramientas también afectan a la reproducibilidad de las compilaciones.
Fuente: opennet.ru
