Vérification de la chaîne d'approvisionnement
Vérifier les images de conteneurs signées, les SBOM, la provenance de build et le paquet air gap publiés avec chaque version de Scrydon.
Scrydon publie à chaque version des images de conteneurs signées, un SBOM et une provenance de build pour chaque image, ainsi qu'un paquet air gap signé. Cette page explique comment les vérifier.
Ce qui est signé
| Artefact | Outil de signature | Lieu de publication |
|---|---|---|
| Images OCI | Cosign (sans clé) | Registre OCI (configurable par canal de diffusion) |
| SBOM | Attestation Cosign (CycloneDX) | Attaché à chaque image |
| Provenance | Attestation de build GitHub (SLSA) | Attachée à chaque image |
| Paquet air gap Zarf | Cosign sign-blob (sans clé) + SHA256SUMS | Paquet sur le registre OCI ; fichier de signature et sommes de contrôle sur la release |
Vérification d'une image
Toutes les signatures sont sans clé : Cosign signe avec un certificat éphémère lié à l'identité GitHub du workflow de release, il n'y a donc aucune clé publique à distribuer. Vous vérifiez l'identité à la place.
cosign verify \
--certificate-identity-regexp 'https://github.com/scrydon/.*' \
--certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
<registry>/scrydon/<image>:<version>cosign verify renvoie le payload de signature vérifié ou une erreur si la signature ne correspond pas.
Le chart Helm
Le chart est publié comme artefact OCI à oci://<registry>/scrydon/charts/scrydon et n'est pas signé par Cosign aujourd'hui. Chaque image qu'il déploie l'est : vérifiez les images qu'il rend, et épinglez le chart par l'empreinte qu'affiche helm pull :
helm pull oci://<registry>/scrydon/charts/scrydon --version <version>
# Pulled: <registry>/scrydon/charts/scrydon:<version>
# Digest: sha256:…Récupération du SBOM
Le SBOM est attaché à chaque image en tant qu'attestation CycloneDX. Récupérez-le avec :
cosign download attestation \
--predicate-type 'https://cyclonedx.org/bom' \
<registry>/scrydon/<image>:<version> | jq -r '.payload | @base64d' | jq .Le SBOM liste chaque paquet de l'image avec sa version et sa licence.
Vérification de la provenance
La provenance de build est une attestation d'artefact GitHub au format SLSA, poussée à côté de chaque image. Vérifiez-la avec la CLI GitHub :
gh attestation verify oci://<registry>/scrydon/<image>:<version> --owner scrydonLa provenance comprend :
- Le commit source.
- Le point d'entrée du build.
- L'environnement de build.
- Le déclencheur du build.
C'est la preuve de build demandée par le règlement européen CRA, annexe I.1.2(h), au niveau SLSA Build 2 (runners hébergés par GitHub, provenance signée).
Vérification du paquet air gap
Le paquet Zarf est signé comme un fichier. La vérification sans clé a besoin du journal de transparence public de Sigstore : exécutez-la sur une machine connectée avant que le paquet ne franchisse l'isolement :
PKG=zarf-package-scrydon-amd64-<version>.tar.zst
cosign verify-blob "${PKG}" \
--bundle "${PKG}.bundle" \
--certificate-identity-regexp '^https://github.com/scrydon/main/\.github/workflows/release-platform\.yml@' \
--certificate-oidc-issuer 'https://token.actions.githubusercontent.com'Transférez SHA256SUMS avec le paquet et contrôlez-le à l'intérieur, ce qui prouve que le fichier déployé est bien celui que vous avez vérifié :
sha256sum -c SHA256SUMS --ignore-missingLorsque SHA256SUMS.asc est publié, gpg --verify SHA256SUMS.asc SHA256SUMS ajoute une vérification de signature qui ne demande aucun réseau. Le déroulé complet se trouve dans Déploiement en environnement isolé.
Que faire en cas d'échec de la vérification
Un échec de vérification signifie ne pas déployer. Soit l'artefact a été altéré, soit il n'a pas été publié par le pipeline de publication de Scrydon. Contactez le support de Scrydon avant de continuer.
Liens connexes
- Déploiement en environnement isolé — vérifier et déployer le paquet Zarf de bout en bout.
- Conformité → CRA UE — ce que les régulateurs s'attendent à voir.
- Conformité → ISO 27001 — A.8.25 intégrité de la chaîne d'approvisionnement.