Signature des dépendances et des artefacts
Vérifier la provenance avec SLSA et Sigstore.
Signature des dépendances et des artefacts est une leçon Cyber Security Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cyber Security Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cyber Security Academy comprend 4 leçons au total.
Pourquoi la provenance est importante
Un SBOM vous indique ce qui se trouve dans un artefact. La provenance vous indique d'où il vient et comment il a été construit. La signature associe un artefact à une origine vérifiable afin que les utilisateurs puissent rejeter tout élément qui n'a pas été produit par votre chaîne de compilation approuvée.
Sans provenance, un attaquant qui remplace une archive tar dans votre registre est impossible à distinguer d'une version légitime.
Les empreintes plutôt que les étiquettes
Le fondement de l'intégrité est l'adressage par le contenu. Un hachage cryptographique (empreinte) d'un artefact identifie de manière unique ces octets précis. Des étiquettes modifiables comme latest peuvent être réorientées ; une empreinte ne le peut pas.
# pull by immutable digest, not a tag
docker pull my-app@sha256:1d52838af602b4b5a831beb13a0e4d073280665ea7be7f69ce2382f29c5a613f
# compute a file digest
sha256sum release-1.4.0.tar.gzBases des signatures numériques
Une signature numérique utilise une clé privée pour signer le hachage de l'artefact ; toute personne disposant de la clé publique correspondante peut la vérifier. Cela fournit deux garanties :
- Intégrité — l'artefact n'a pas été modifié après sa signature
- Authenticité — il a été signé par le détenteur de la clé privée
La difficulté ne réside pas dans les mathématiques, mais dans la gestion des clés et la distribution de la confiance : comment un vérificateur sait-il quelle clé publique approuver ?
Signer sans clé avec Sigstore
La signature traditionnelle oblige les équipes à protéger des clés privées à longue durée de vie, qui sont susceptibles d'être divulguées. Sigstore propose la signature sans clé : il délivre un certificat à courte durée de vie lié à une identité OIDC (comme une charge de travail d'intégration continue ou l'adresse e-mail d'un développeur), signe l'artefact et consigne l'événement dans un journal public de transparence appelé Rekor.
Il n'y a aucune clé à longue durée de vie à voler, et chaque signature peut être vérifiée publiquement.
Signer avec Cosign
Cosign est l'outil de Sigstore qui sert à signer les images de conteneurs et autres artefacts. En mode sans clé, il utilise le jeton OIDC de la chaîne, de sorte qu'aucun fichier de clé ne soit stocké sur le disque.
# keyless sign in CI (uses ambient OIDC identity)
COSIGN_EXPERIMENTAL=1 cosign sign my-registry/my-app@sha256:1d5283...
# verify, asserting the expected signer identity
cosign verify my-registry/my-app@sha256:1d5283... \
--certificate-identity-regexp '.*@my-org\.com' \
--certificate-oidc-issuer https://accounts.google.comLe journal de transparence
Sigstore consigne chaque événement de signature dans Rekor, un journal public en ajout uniquement qui permet de détecter toute altération. Il s'agit d'un puissant contrôle de détection :
- Vous pouvez prouver quand un élément a été signé
- Un attaquant qui vole une identité ne peut pas signer en secret — l'événement est consigné publiquement
- Les signatures anormales (identité inattendue, horaires inhabituels) deviennent détectables
La transparence transforme une compromission silencieuse en preuve observable.
SLSA : les niveaux d'intégrité des compilations
SLSA (Niveaux de la chaîne d'approvisionnement pour les artefacts logiciels) est un cadre qui évalue le niveau de confiance de votre processus de compilation. Les niveaux supérieurs exigent des garanties plus fortes contre les altérations.
- L1 — la provenance existe et est documentée
- L2 — provenance signée provenant d'un service de compilation hébergé
- L3 — compilations renforcées et isolées ; la provenance est infalsifiable, même par un membre interne de la chaîne
SLSA est une feuille de route : choisissez un niveau cible et comblez les lacunes.
Attestations de provenance des compilations
Une attestation de provenance est une déclaration signée qui décrit comment un artefact a été construit : la validation du code source, l'identité du système de compilation, les paramètres de compilation et les entrées. Le format in-toto standardise ces informations.
# generate and attach SLSA provenance for an image
cosign attest --type slsaprovenance \
--predicate provenance.json \
my-registry/my-app@sha256:1d5283...
# verify provenance matches expected source repo
cosign verify-attestation --type slsaprovenance my-registry/my-app@sha256:1d5283...Imposer les signatures lors de l'admission
La signature n'est utile que si un mécanisme refuse les artefacts non signés. Dans Kubernetes, un contrôleur d'admission peut bloquer toute image dépourvue d'une signature et d'une provenance valides provenant de votre identité approuvée.
- Les contrôleurs de stratégie vérifient les signatures Cosign avant le démarrage d'un pod
- Rejeter les images signées par des identités inattendues
- Exiger une provenance faisant référence à votre dépôt source approuvé
La boucle est ainsi bouclée : les artefacts non fiables ne sont jamais exécutés.
Signer les dépendances en amont
La provenance est particulièrement précieuse lorsqu'elle s'étend à ce que vous consommez, et pas seulement à ce que vous livrez. Les écosystèmes ajoutent la signature et la provenance natives :
- La provenance npm associe un paquet publié à sa validation du code source et à son exécution d'intégration continue
- Les images de base de conteneurs sont de plus en plus souvent distribuées avec des signatures Cosign
- Les registres de langages expérimentent la vérification reposant sur Sigstore
Privilégiez les dépendances qui publient une provenance vérifiable et vérifiez-la lors de l'installation lorsque cette possibilité existe.
Placer la vérification au premier plan
Une stratégie pratique de signature s'appuie sur plusieurs couches et est vérifiée de bout en bout :
- Figer les entrées sur leur empreinte
- Signer les artefacts sans clé et joindre un SBOM ainsi que des attestations de provenance
- Tout consigner dans un journal de transparence
- Imposer la vérification lors du déploiement au moyen d'une politique d'admission
La chaîne n'est aussi solide que son maillon non vérifié le plus faible ; vérifiez donc chaque point de consommation.
Vérification rapide : signature sans clé
Analysez pourquoi la signature sans clé renforce la sécurité de la chaîne d'approvisionnement.
Récapitulatif : signature des dépendances et des artefacts
Vous avez appris à démontrer la provenance et à l'imposer.
- Figer selon l'empreinte, et non selon des étiquettes modifiables
- Les signatures numériques garantissent l'intégrité et l'authenticité ; la difficulté réside dans la gestion des clés
- Sigstore + Cosign permettent la signature sans clé avec un journal public de transparence Rekor
- SLSA évalue l'intégrité des compilations ; les attestations de provenance consignent la manière dont les artefacts ont été construits
- Les politiques d'admission rejettent tout élément non signé ou non fiable au moment du déploiement
Suite : durcir la chaîne d'intégration et de livraison qui produit ces artefacts.
Apprends Cyber Security Academy avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 76
- Leçons
- 303
Questions Fréquemment Posées
La leçon « Signature des dépendances et des artefacts » est-elle gratuite ?
Oui — le texte complet de « Signature des dépendances et des artefacts » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cyber Security Academy, passe à CoddyKit PRO. Le cours Cyber Security Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Signature des dépendances et des artefacts » ?
Vérifier la provenance avec SLSA et Sigstore. Tu pratiques Cyber Security Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cyber Security Academy ?
Aucune expérience préalable n'est requise. Cyber Security Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Signature des dépendances et des artefacts » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cyber Security Academy ?
Oui. Chaque leçon Cyber Security Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Menaces liées à la chaîne d’approvisionnement
- Nomenclature logicielle (SBOM)
- Signature des dépendances et des artefacts
- Sécuriser les pipelines CI/CD