Le build transforme le code et ses dépendances en artefact : il doit être tracé et prouvable. Cette famille (I3, domaine Intégration) impose un build sur plateforme hébergée et tracée, une provenance SLSA générée et attachée (builder, source, paramètres), et au souverain un build hermétique et isolé (niveau L3).
Un artefact construit sur un poste ou une plateforme opaque est invérifiable : on ignore où et comment il a été produit. Builder sur une plateforme hébergée, tracée et isolée qui émet une provenance (builder, source, paramètres) rend l'origine reconstituable et vérifiable par les consommateurs. Au plus haut niveau, un build hermétique (dépendances pré-fetchées, sans accès réseau non maîtrisé) et reproductible ferme la dernière porte : ce qui entre est connu d'avance, et toute divergence du résultat se détecte, donc toute injection survenue pendant la construction.
Concrètement, ces exigences parent : le build pollué ou opaque dont l'origine est invérifiable, la dépendance substituée ou l'exfiltration via un build non hermétique, et l'artefact pirate indistinguable du légitime faute de provenance attachée et vérifiable. Quatre exigences, des renforcées (R2) aux souveraines (R3).
Un build sans isolation ni provenance peut être piégé sans laisser de preuve.
Les pièges à éviter
Section intitulée « Les pièges à éviter »Les erreurs les plus fréquentes sur ce périmètre :
Exigences
Section intitulée « Exigences »build sur plateforme hébergée, tracée et isolée, générant une provenance.#
Un build qui partage son environnement peut être pollué par les autres ; opaque, il est invérifiable. Builder sur une plateforme hébergée, tracée et isolée qui émet une provenance garantit que chaque artefact a été produit dans des conditions connues et reconstituables, fondation des niveaux SLSA.
- Preuve attendue
- Plateforme de build hébergée et tracée ; provenance générée.
- Outillage
- slsa-github-generator
Correspondances & menaces parées 3 standards · 1 menace
Le build est lancé depuis une source ou un fork non officiel, produisant un artefact d'apparence légitime à partir de code non vérifié. L'origine du build n'est pas garantie sans provenance liant artefact et source SLSA (D) SLSA (E).
provenance d'artefact générée et attachée (in-toto), vérifiable par les consommateurs.#
Une provenance qui reste chez le producteur ne protège pas le consommateur. Générer et attacher une attestation in-toto à l'artefact, vérifiable par ceux qui l'installent, leur permet de confirmer eux-mêmes son origine et son intégrité avant de l'exécuter, sans faire confiance sur parole.
- Preuve attendue
- Attestation de provenance in-toto attachée et vérifiable.
- Outillage
- slsa-github-generator
Correspondances & menaces parées 2 standards · 2 menaces
Le build est lancé depuis une source ou un fork non officiel, produisant un artefact d'apparence légitime à partir de code non vérifié. L'origine du build n'est pas garantie sans provenance liant artefact et source SLSA (D) SLSA (E). L'attestation de provenance est forgée ou altérée pour faire croire qu'un artefact provient d'un build légitime. Sans provenance non falsifiable (build isolé, signature), la traçabilité est trompeuse SLSA (verification).
build hermétique et isolé (dépendances pré-fetchées, pas d'accès réseau non maîtrisé) pour les artefacts sensibles.#
Un build qui accède librement au réseau peut tirer une dépendance substituée ou exfiltrer en cours de route. Un build hermétique (dépendances pré-fetchées, pas d'accès réseau non maîtrisé) supprime cette surface pour les artefacts sensibles : ce qui entre est connu d'avance, ce qui sort est l'artefact attendu.
- Preuve attendue
- Preuve de build hermétique/isolé (dépendances pré-fetchées, réseau maîtrisé).
- Outillage
- Bazel
Correspondances & menaces parées 2 standards · 2 menaces
Un attaquant écrit dans un cache partagé du CI (dépendances, couches d'image, artefacts intermédiaires) une charge réutilisée par d'autres builds. Le cache, supposé sûr, propage la compromission entre exécutions ou projets CICD-SEC-4. Le build est lancé depuis une source ou un fork non officiel, produisant un artefact d'apparence légitime à partir de code non vérifié. L'origine du build n'est pas garantie sans provenance liant artefact et source SLSA (D) SLSA (E).
build reproductible (résultat déterministe vérifiable).#
Si rebâtir le même code donne un binaire différent, impossible de prouver qu'un artefact correspond à ses sources. Un build reproductible (résultat déterministe) permet à un tiers de reconstruire à l'identique et de détecter toute divergence, donc toute injection survenue pendant la construction.
- Preuve attendue
- Attestation de reproductibilité du build.
- Outillage
- slsa-github-generator