reproducible buildとは?
reproducible buildは、同じソースを同じtoolchainでコンパイルすると、いつどこで実行してもビット単位で同一のartifactが得られるビルドです。これにより独立した第三者が再ビルドし、公開されたバイナリが本当に主張されたソースから生成されたことを確認できます。ソフトウェアsupply chainの信頼の要です。
なぜ重要か
ビルドがreproducibleであれば、誰でもリリースされたバイナリを再ビルドしてhashを比較することで、改ざんされていないことを検証できます。それを達成するには、埋め込まれたtimestamp、ファイル順序の違い、絶対パスといった非決定性を取り除く必要があります。
関連する概念
- そこに至るには通常hermetic buildが必要である
- build provenanceはartifactがどう生成されたかを記録する
- SLSAのレベルは再現性を評価する
関連ガイド
What Is a Hermetic Build?A hermetic build depends only on explicitly declared, pinned inputs and is isolated from the host, so it prod…
What Is Build Provenance?Build provenance is signed metadata describing how an artifact was built, including its source, inputs, and b…
What Is SLSA?SLSA is a security framework that defines graduated levels of build-integrity assurance to harden software su…