Attestation et Vérification
Cette page explique comment vérifier l’authenticité de nos images de conteneurs et inspecter leur Software Bill of Materials (SBOM).
Vérification des Signatures de Conteneurs
Pour vérifier cryptographiquement qu’une image de conteneur a été signée par notre pipeline CI/CD :
# API Proxycosign verify subnoto/api-proxy:v0.1.0 \ --certificate-identity https://gitlab.com/subnoto/subnoto-monorepo-public//.gitlab-ci.yml@refs/tags/v0.1.0 \ --certificate-oidc-issuer https://gitlab.com | jq
# MCP Servercosign verify subnoto/mcp-server:v0.1.4 \ --certificate-identity https://gitlab.com/subnoto/subnoto-monorepo-public//.gitlab-ci.yml@refs/tags/v0.1.4 \ --certificate-oidc-issuer https://gitlab.com | jqVérification des Attestations
Pour vérifier l’attestation SBOM attachée à un conteneur :
# API Proxycosign verify-attestation subnoto/api-proxy:v0.1.0 \ --certificate-identity https://gitlab.com/subnoto/subnoto-monorepo-public//.gitlab-ci.yml@refs/tags/v0.1.0 \ --certificate-oidc-issuer https://gitlab.com \ --type=spdxjson
# MCP Servercosign verify-attestation subnoto/mcp-server:v0.1.4 \ --certificate-identity https://gitlab.com/subnoto/subnoto-monorepo-public//.gitlab-ci.yml@refs/tags/v0.1.4 \ --certificate-oidc-issuer https://gitlab.com \ --type=spdxjsonNotes importantes :
- Le
--certificate-identitydoit correspondre exactement au chemin du fichier GitLab CI et à la référence du tag - Pour différentes versions, mettez à jour à la fois le tag de l’image et le tag de l’identité du certificat
- Seules les versions taguées sont publiées sur DockerHub
- La vérification nécessite l’outil
cosign(installer depuis sigstore.dev)
Inspection du SBOM
Pour télécharger et inspecter l’attestation SBOM (Software Bill of Materials) :
cosign download attestation subnoto/api-proxy:latest | \ jq -r .payload | \ base64 -d | \ jq '.predicate | fromjson'Cette commande :
- Télécharge l’attestation depuis le registre de conteneurs
- Extrait le champ payload
- Décode le contenu encodé en base64
- Parse le JSON du prédicat doublement encodé
La sortie affichera un SBOM SPDX complet listant tous les packages et dépendances dans le conteneur.
Analyse des Vulnérabilités
Vous pouvez scanner les images localement en utilisant :
# Utiliser Syft pour générer le SBOMsyft subnoto/mcp-server:latest -o json
# Utiliser Grype pour scanner les vulnérabilitésgrype subnoto/mcp-server:latest