Во FreeBSD обеспечена поддержка воспроизводимых сборок и сборки без прав Root

Организация FreeBSD Foundation объявила о реализации поддержки воспроизводимых сборок, позволяющих убедиться, что распространяемые бинарные файлы собраны из предоставляемого исходного кода и не содержат скрытых изменений. Одновременно заявлено о предоставлении возможности сборки FreeBSD в непривилегированных окружениях, не требующих наличия прав root. Избавление от компонентов, выполняемых во время сборки с правами root, позволит повысить безопасность инфраструктуры для формирования релизов FreeBSD, снизить поверхность атаки на сборочное окружение и упростить организацию автоматизированных сборок.

На этапе сборки права root были необходимы для создания файлов устройств, выставления прав доступа и монтирования дополнительных файловых систем (например, при создании дисковых образов). Изменения для замены подобных действий на операции, не требующие прав root, добавлены в находящуюся в экспериментальную ветку FreeBSD, но в дальнейшем будут перенесены и в ветку, на основе которой формируется релиз FreeBSD 15.0. Помимо сборки релиза из исходного кода, без прав root теперь также могут создаваться такие артефакты, как iso-образы для создания установочных и загрузочных Flash-накопителей, системные образы для виртуальных машин и облачных платформ.

Что касается воспроизводимых сборок, то они позволяют добиться идентичности бинарных файлов, формируемых из исходного кода в разных сборочных окружениях. Любой желающий теперь может лично убедиться, что распространяемые бинарные файлы собраны из предоставляемых исходных текстов, не полагаясь лишь на доверие к сборочной инфраструктуре проекта, компрометация компилятора или сборочного инструментария в которой может привести к подстановке скрытых закладок.

При формировании воспроизводимых сборок учитываются такие нюансы, как точное соответствие зависимостей; использование неизменного состава и версий сборочного инструментария; идентичный набор опций и настроек по умолчанию; сохранение порядка сборки файлов (применение тех же методов сортировки); отключение добавления компилятором непостоянной служебной информации, такой как случайные значения, ссылки на файловые пути и данные о дате и времени сборки. На воспроизводимость сборок также влияют ошибки и состояния гонки в инструментарии.

Release. Ссылка here.