narzędzia , który umożliwia niezależne sprawdzanie binarnych pakietów dystrybucji poprzez wdrożenie ciągłego procesu kompilacji, porównującego pobrane pakiety z pakietami uzyskanymi w wyniku ponownej kompilacji na lokalnym systemie. Narzędzie zostało napisane w języku Rust i jest dystrybuowane na licencji GPLv3.
Obecnie w rebuilderd dostępne jest tylko eksperymentalne wsparcie dla weryfikacji pakietów z Arch Linux, ale wkrótce obiecują dodać również wsparcie dla Debiana. W najprostszej formie, aby uruchomić rebuilderd należy zainstalować pakiet rebuilderd z domyślnego repozytorium, zaimportować klucz GPG do weryfikacji środowiska i aktywować odpowiednią usługę systemową. Możliwe jest uruchomienie sieci z kilku instancji rebuilderd.
Usługa śledzi stan indeksu pakietów i automatycznie uruchamia ponowną kompilację nowych pakietów w wzorcowym środowisku, którego stan jest synchronizowany z ustawieniami podstawowego środowiska kompilacji Arch Linux. Podczas ponownej kompilacji uwzględniane są takie szczegóły, jak dokładne dopasowanie zależności, użycie niezmienionego składu i wersji narzędzi kompilacyjnych, identyczny zestaw opcji i ustawień domyślnych, zachowanie kolejności kompilacji plików (zastosowanie tych samych metod sortowania). Ustawienia procesu kompilacji wykluczają dodawanie przez kompilator nietrwałych informacji pomocniczych, takich jak losowe wartości, odnośniki do ścieżek plików i dane o dacie oraz czasie kompilacji.
Obecnie ponowne kompilacje dla 84,1% pakietów z repozytorium core Arch Linux, 83,8% z repozytorium extras oraz 76,9% z repozytorium community. Dla porównania, w Debianie 10 wskaźnik ten wynosi 94,1%. Powtarzalne kompilacje są istotnym ogniwem zapewnienia bezpieczeństwa, ponieważ dają każdemu użytkownikowi możliwość upewnienia się, że oferowane przez dystrybucję binaria pakietów są identyczne z kompilacjami stworzonymi osobiście z kodu źródłowego. Bez możliwości weryfikacji tożsamości binarnej kompilacji użytkownik może jedynie ślepo zaufać cudzej infrastrukturze kompilacji, której kompromitacja kompilatora lub narzędzi kompilacyjnych może prowadzić do wprowadzenia ukrytych backdoorów.
Źródło: opennet.ru
