Los desarrolladores del proyecto openSUSE han anunciado el apoyo a las construcciones reproducibles en el repositorio de openSUSE Factory, que aplica un modelo de ciclo de actualizaciones continuas (rolling updates) y sirve como base para la construcción de la distribución openSUSE Tumbleweed. La configuración de construcción de openSUSE Factory ahora permite garantizar que los binarios distribuidos en los paquetes se compilen a partir de los fuentes proporcionados y no contengan modificaciones ocultas. Por ejemplo, cualquier usuario puede verificar personalmente que las construcciones ofrecidas coinciden bit a bit con las construcciones compiladas directamente de los fuentes.
Al formar construcciones reproducibles se consideran matices como la coincidencia exacta de dependencias, el uso de un conjunto inalterado y versiones del conjunto de herramientas de construcción, un conjunto idéntico de opciones y configuraciones predeterminadas, mantener el orden de compilación de archivos (aplicando los mismos métodos de ordenación), y desactivar la adición de información de servicio no determinista por parte del compilador, como valores aleatorios, referencias a rutas de archivos y datos de fecha y hora de compilación.
La posibilidad de verificar la identidad de una construcción binaria permite no depender únicamente de la confianza en la infraestructura de construcción, cuya compromisión del compilador o del conjunto de herramientas de construcción podría llevar a la inserción de puertas traseras ocultas. Por ejemplo, las construcciones reproducibles se han utilizado por los desarrolladores de openSUSE para eliminar modificaciones maliciosas que podrían haber aparecido en el repositorio como resultado de un incidente que involucró la adición de una puerta trasera al paquete xz (una biblioteca comprometida liblzma, utilizada para descomprimir el archivo de código GCC, podría haber modificado el código de GCC de tal manera que permitiera la inserción de elementos maliciosos en las aplicaciones compiladas).
El repositorio Factory no está destinado a los usuarios finales y se utiliza principalmente por los desarrolladores de la distribución, ya que no garantiza estabilidad en ningún momento. Los paquetes del sistema que se añaden a Factory son probados automáticamente con la herramienta openQA. Una vez finalizadas las pruebas y verificado el estado consistente de las dependencias, el contenido del repositorio se actualiza en los espejos varias veces a la semana y el corte de su estado se publica como openSUSE Tumbleweed.
Fuente: opennet.ru
