un conjunto de herramientas , que permite organizar una verificación independiente de los paquetes binarios de la distribución a través del despliegue de un proceso de construcción continuo, que compara los paquetes descargados con los que se obtienen a través de una reconstrucción en el sistema local. El conjunto de herramientas está escrito en Rust y se distribuye bajo la licencia GPLv3.
Actualmente, en rebuilderd solo hay soporte experimental para la verificación de paquetes de Arch Linux, pero pronto prometen añadir también soporte para Debian. En el caso más simple, para iniciar rebuilderd , se debe instalar el paquete rebuilderd desde el repositorio oficial, importar la clave GPG para verificar el entorno y activar el servicio del sistema correspondiente. Es posible desplegar una red de varias instancias de rebuilderd.
El servicio monitorea el estado del índice de paquetes y automáticamente inicia la reconstrucción de nuevos paquetes en un entorno de referencia, cuyo estado está sincronizado con la configuración del entorno de construcción principal de Arch Linux. Durante la reconstrucción, se tienen en cuenta detalles como la coincidencia exacta de dependencias, el uso de una composición y versiones inalteradas del conjunto de herramientas de construcción, un conjunto idéntico de opciones y configuraciones predeterminadas, y la conservación del orden de construcción de los archivos (aplicando los mismos métodos de ordenación). Las configuraciones del proceso de construcción excluyen la adición de información auxiliar no constante por parte del compilador, como valores aleatorios, referencias a rutas de archivos y datos sobre la fecha y hora de la construcción.
Actualmente, las reconstrucciones repetibles para el 84.1% de los paquetes del repositorio core de Arch Linux, el 83.8% del repositorio extras y el 76.9% del repositorio community. Para comparación en Debian 10, esta cifra es del 94.1%. Las reconstrucciones repetibles son un eslabón importante en la seguridad, ya que permiten a cualquier usuario verificar que las construcciones de paquetes ofrecidas por la distribución coincidan byte por byte con las construcciones que se han generado personalmente a partir de los códigos fuente. Sin la posibilidad de verificar la identidad de una construcción binaria, el usuario solo puede confiar ciegamente en la infraestructura de construcción de terceros, cuya posible compromisión del compilador o del conjunto de herramientas de construcción puede llevar a la inyección de puertas traseras ocultas.
Fuente: opennet.ru
