Gli sviluppatori della distribuzione openSUSE hanno annunciato progressi nel progetto per garantire il supporto per le build ripetibili. Nell'ambito del progetto è stato preparato un fork concettuale della distribuzione Reproducible-openSUSE (RBOS), per il quale è stata raggiunta la possibilità di costruire pacchetti binari identici al 100% basati su un repository proposto con il codice sorgente, che comprende 3300 pacchetti. Durante il lavoro sul progetto sono stati preparati circa 40 patch (1, 2, 3), che risolvono i problemi di ricostruzione ripetibile dei pacchetti. Circa metà di queste patch è già stata inviata ai progetti upstream. Le build di Reproducible-openSUSE sono attualmente destinate solo ai test e non sono raccomandate per l'uso in sistemi di produzione, poiché non sono previsti aggiornamenti per la correzione delle vulnerabilità.
Il progetto consente all'utente di creare le proprie build, corrispondenti bit per bit a quelle pronte per il download, per garantire che i file binari distribuiti nei pacchetti siano stati compilati dai codici sorgente forniti e non contengano modifiche nascoste. La possibilità di verificare l'identità della build binaria permette di non basarsi solo sulla fiducia nell'infrastruttura di compilazione della distribuzione, poiché una compromissione del compilatore o degli strumenti di build può portare all'introduzione di backdoor nascoste.
Nella creazione di build ripetibili si prendono in considerazione dettagli come la corrispondenza esatta delle dipendenze, l'uso di componenti e versioni invariati degli strumenti di build, un insieme identico di opzioni e impostazioni predefinite, la preservazione dell'ordine di assemblaggio dei file (applicando gli stessi metodi di ordinamento), e la disabilitazione dell'inserimento di informazioni di servizio volatili da parte del compilatore, come valori casuali, riferimenti a percorsi di file e dati sulla data e ora di compilazione. Anche gli errori e le condizioni di corsa negli strumenti influenzano la riproducibilità delle build.
Fonte: opennet.ru
