Builds reproductibles
Qu'est-ce que Builds reproductibles ?
Builds reproductiblesPratiques de build garantissant que compiler le même code source avec les mêmes instructions produit un artefact identique bit à bit, peu importe le moment et l'endroit.
Les builds reproductibles éliminent le non-déterminisme afin que quiconque dispose du code source et de la recette puisse recréer indépendamment le même binaire et le comparer octet pour octet à une release. Cela suppose de maîtriser horodatages, chemins de build, variables d'environnement, aléa, locale, ordre des fichiers et options du compilateur. Le projet Reproducible Builds, Debian, NixOS, Arch Linux, Tor, F-Droid et Bazel investissent fortement dans ce domaine. Couplés à une provenance signée, ils permettent à des rebuilders indépendants de vérifier qu'un binaire provient bien de la source publiée, aidant à détecter la compromission d'un builder unique (cas SolarWinds). Ils sont requis pour atteindre les plus hauts niveaux SLSA et soutiennent la confiance dans les logiciels open source critiques.
● Exemples
- 01
Reconstruction indépendante d'une release Tor Browser correspondant octet pour octet au binaire officiel.
- 02
Service Bazel produisant le même digest SHA-256 à partir du même commit sur n'importe quel worker.
● Questions fréquentes
Qu'est-ce que Builds reproductibles ?
Pratiques de build garantissant que compiler le même code source avec les mêmes instructions produit un artefact identique bit à bit, peu importe le moment et l'endroit. Cette notion relève de la catégorie Sécurité applicative en cybersécurité.
Que signifie Builds reproductibles ?
Pratiques de build garantissant que compiler le même code source avec les mêmes instructions produit un artefact identique bit à bit, peu importe le moment et l'endroit.
Comment se défendre contre Builds reproductibles ?
Les défenses contre Builds reproductibles combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
Quels sont les autres noms de Builds reproductibles ?
Noms alternatifs courants : Builds déterministes, Builds bit à bit.