Attestation de provenance
Qu'est-ce que Attestation de provenance ?
Attestation de provenanceDéclaration signée et vérifiable par machine décrivant comment un artefact logiciel a été produit - source, système de build, paramètres, dépendances - pour que les consommateurs aient confiance en son origine.
Une attestation de provenance répond à "d'où vient cet artefact ?" par des preuves cryptographiques plutôt que par la convention. Les formats standards comprennent les attestations in-toto et SLSA Provenance v1, qui consignent le commit du dépôt source, la plateforme de build, la recette, les matériaux et les horodatages, et qui sont signés par le builder. Les consommateurs vérifient ces attestations selon une politique : identité du builder approuvé, dépôts autorisés, workflow attendu, niveau SLSA, etc. Sigstore Cosign, GitHub Actions, Tekton Chains, GitLab CI et les plateformes de build compatibles SLSA produisent ces attestations automatiquement. La provenance est un contrôle clé pour détecter les binaires altérés et répondre aux exigences réglementaires comme le décret 14028 et le Cyber Resilience Act.
● Exemples
- 01
SLSA Provenance v1 produite par un reusable workflow GitHub et vérifiée au déploiement.
- 02
Politique Kyverno exigeant une provenance de builder de confiance sur chaque image conteneur.
● Questions fréquentes
Qu'est-ce que Attestation de provenance ?
Déclaration signée et vérifiable par machine décrivant comment un artefact logiciel a été produit - source, système de build, paramètres, dépendances - pour que les consommateurs aient confiance en son origine. Cette notion relève de la catégorie Sécurité applicative en cybersécurité.
Que signifie Attestation de provenance ?
Déclaration signée et vérifiable par machine décrivant comment un artefact logiciel a été produit - source, système de build, paramètres, dépendances - pour que les consommateurs aient confiance en son origine.
Comment fonctionne Attestation de provenance ?
Une attestation de provenance répond à "d'où vient cet artefact ?" par des preuves cryptographiques plutôt que par la convention. Les formats standards comprennent les attestations in-toto et SLSA Provenance v1, qui consignent le commit du dépôt source, la plateforme de build, la recette, les matériaux et les horodatages, et qui sont signés par le builder. Les consommateurs vérifient ces attestations selon une politique : identité du builder approuvé, dépôts autorisés, workflow attendu, niveau SLSA, etc. Sigstore Cosign, GitHub Actions, Tekton Chains, GitLab CI et les plateformes de build compatibles SLSA produisent ces attestations automatiquement. La provenance est un contrôle clé pour détecter les binaires altérés et répondre aux exigences réglementaires comme le décret 14028 et le Cyber Resilience Act.
Comment se défendre contre Attestation de provenance ?
Les défenses contre Attestation de provenance 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 Attestation de provenance ?
Noms alternatifs courants : Provenance SLSA, Provenance de build.
● Termes liés
- appsec№ 1053
SLSA Framework
Supply-chain Levels for Software Artifacts : ensemble d'exigences à paliers publié par l'OpenSSF qui durcit progressivement la façon de construire, signer et vérifier les logiciels face aux manipulations de la chaîne d'approvisionnement.
- appsec№ 522
in-toto
Cadre ouvert qui atteste cryptographiquement chaque étape d'une chaîne d'approvisionnement logicielle pour que les consommateurs vérifient que l'artefact a été produit et manipulé exactement comme le propriétaire du projet l'a prévu.
- appsec№ 1044
Sigstore
Projet open source de la Linux Foundation qui facilite la signature, la vérification et la protection des artefacts logiciels en combinant clés éphémères, identités OIDC et journal de transparence.
- appsec№ 226
Cosign
CLI open source du projet Sigstore pour signer, vérifier et attester des artefacts OCI et d'autres logiciels, en mode clé ou sans clé.
- appsec№ 1069
Sécurité de la chaîne d'approvisionnement logicielle
Discipline qui protège chaque maillon de la chaîne de production logicielle - source, dépendances, build, signature, distribution et déploiement - contre les manipulations, le code malveillant et la perte d'intégrité.
- appsec№ 921
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.