Los desarrolladores del proyecto openSUSE han anunciado soporte para compilaciones repetibles en el repositorio openSUSE Factory, que utiliza un modelo de actualización continua y sirve como base para construir la distribución openSUSE Tumbleweed. La configuración de compilación de openSUSE Factory ahora le permite asegurarse de que los archivos binarios distribuidos en paquetes se creen a partir del código fuente proporcionado y no contengan cambios ocultos. Por ejemplo, cualquier usuario puede verificar personalmente que los ensamblajes propuestos coincidan poco a poco con los ensamblajes recopilados personalmente a partir de los códigos fuente.
Al formar ensamblajes repetibles, se tienen en cuenta matices como la coincidencia exacta de dependencias, el uso de composición y versiones sin cambios de las herramientas de ensamblaje, un conjunto idéntico de opciones y configuraciones predeterminadas, preservación del orden de ensamblaje de archivos (uso de los mismos métodos de clasificación ), deshabilitando la adición de información de servicio no permanente por parte del compilador, como valores aleatorios, referencias de rutas de archivos e información de fecha y hora de compilación.
La capacidad de verificar la identidad de un ensamblado binario le permite no depender únicamente de la confianza en la infraestructura del ensamblador, donde comprometer el compilador o las herramientas del ensamblador puede llevar a la sustitución de marcadores ocultos. Por ejemplo, los desarrolladores de openSUSE utilizaron compilaciones repetibles para eliminar modificaciones maliciosas que podrían haberse introducido en el repositorio como resultado del incidente de puerta trasera en el paquete xz (la biblioteca liblzma comprometida utilizada para descomprimir el archivo con código GCC podría introducir cambios). al código GCC que podría usarse para insertar elementos maliciosos en aplicaciones ensambladas).
El repositorio Factory no está destinado a usuarios finales y lo utilizan principalmente desarrolladores de distribuciones, ya que no se garantiza que sea estable en todo momento. Los paquetes del sistema agregados a Factory se someten a pruebas automatizadas utilizando herramientas openQA. Una vez que se completan las pruebas y se verifica que el estado de dependencia es consistente, el contenido del repositorio se descarga en espejos varias veces por semana y el segmento de estado resultante se publica como openSUSE Tumbleweed.
Fuente: opennet.ru
