Recommandations et informations de sécurité
Vulnérabilités et expositions courantes (CVE)
GitGuardian construit ses images Self-Hosted sur la base d'images Base-OS durcies Chainguard, ce qui réduit significativement la surface de CVE des conteneurs frontend et backend et vise un objectif zéro CVE en production.
Les images KOTS admin et Replicated SDK utilisent une image de base distroless Chainguard.
Configuration de l'image runtime : L'image runtime est basée sur l'image Python (avec une variante optionnelle compatible FIPS pour Helm), et embarque les paquets supplémentaires suivants : src-fingerprint, libxml2, libxslt, xmlsec, xmlsec-openssl et git.
Modules cryptographiques FIPS 140-3 (Helm uniquement)
Les modules cryptographiques approuvés FIPS 140-3 sont disponibles en tant que fonctionnalité facultative pour les installations basées sur Helm. Lorsqu'ils sont activés, GitGuardian utilise les variantes conformes FIPS de ses images applicatives pour chiffrer les données sensibles au repos et en transit.
Pour activer FIPS dans votre installation Helm, définissez ce qui suit dans values.yaml :
global:
fips:
enabled: true
Pour les environnements air-gapped, consultez le Guide d'installation Airgap pour la liste des images spécifiques à FIPS.
Pour en savoir plus sur le processus de validation FIPS de Chainguard et consultez l'engagement FIPS de Chainguard pour les détails de garantie et des modules cryptographiques certifiés.
Images GitGuardian pour le scan de CVE
Le tableau ci-dessous liste les images livrées dans la version actuelle afin que vous puissiez les fournir à votre scanner de CVE (Trivy, Grype, Snyk, etc.) ou à votre pipeline de gestion des vulnérabilités. Les variantes FIPS portent un suffixe -fips sur le même dépôt.
Liste des images de la version actuelle
| Image Type | Repository and Image Name | 2026.6.1 |
|---|---|---|
| GitGuardian Frontend | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/prm-static-chainguard | 2026.6.1 |
| GitGuardian Backend | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/prm-app-chainguard | 2026.6.1 |
| Helm Tooling — preflights, support bundle, and upgrade path check (until 2026.4.0) | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/prm-helm-tooling | 2026.6.1 |
| Replicated SDK — licensing | proxy.replicated.com/proxy/gitguardian/docker.io/replicated/replicated-sdk | 1.19.6 |
| Machine Learning | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/ml-secret-engine-app-chainguard | 1.5.0 |
| File Scanner | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/wolfi/apache-tika | 3.3 |
| Analytics | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/basalt-onprem-analytics | 0.6.3 |
| ggscout | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/ggscout/chainguard | 0.28.1 |
| Log collector — fluent-bit | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/wolfi/fluent-bit | 4.2.4 |
| Log collector — loki | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/wolfi/loki | 3.7.2 |
| Log collector — minio | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/wolfi/minio | 0.20260604 |
| Bash — Custom CA and upgrade path check (starting 2026.5.0) | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/wolfi/bash | 5.3 |
L'historique complet des tags publiés et l'organisation du registre privé sont maintenus dans le Guide d'installation Airgap.
Image Analytics : évaluation des risques CVE
L'image de la fonctionnalité Analytics (gitguardian/basalt-onprem-analytics) repose sur une pile d'analyse de données basée sur Python dont l'arbre de dépendances transitives présente des défis de correctifs continus inhérents à cette classe de logiciels.
Le risque de sécurité est minimal. L'image s'exécute en tant que CronJob Kubernetes nocturne sans serveur web, sans listener réseau et sans aucune connexion entrante. Elle écrit uniquement dans les bases de données internes du cluster (PostgreSQL) et traite des métadonnées internes de GitGuardian — et non des secrets clients ou du code source. La grande majorité des CVE de cette image décrivent des vulnérabilités qui nécessitent une interface réseau exposée ou un accès interactif pour être exploitées, ce qui n'est pas le cas ici.
GitGuardian surveille cette image en continu et priorisera la remédiation de toute CVE présentant un chemin d'exploitation réaliste.
Cosign pour la signature d'images
GitGuardian a renforcé la sécurité de ses images grâce à la mise en œuvre de Cosign pour la signature d'images, en alignement avec les standards SLSA 2. Cela garantit que toutes les images sont sécurisées de leur création à leur déploiement. Toutes les images GitGuardian peuvent être vérifiées selon la méthode décrite ci-dessous, à l'exception du Replicated SDK qui utilise un processus de vérification différent (voir Verify SDK Image Integrity).
Vous pouvez renforcer la sécurité de votre Kubernetes en utilisant le Sigstore Policy Controller. Pour plus de détails, veuillez consulter la documentation Sigstore Policy Controller.
Avant de commencer : Téléchargez Cosign pour la vérification d'images : Télécharger Cosign
Étapes de vérification :
- Enregistrez la clé publique fournie dans un fichier nommé
gg_cosign.pub.
echo "-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEnVzZQr8D9OgkgZcf9z0v67yrd2pg
+yQtJur1OgetAwij8T8g8VH+IegI6Y+1E3ZEqMast934R35UCzOiiyIadQ==
-----END PUBLIC KEY-----" > gg_cosign.pub
- Récupérez votre License ID depuis votre fichier de licence, où il est étiqueté
licenseID. Utilisez cet ID pour vous authentifier auprès du dépôt d'images GitGuardian en exécutant les commandes ci-dessous.
printf "Enter your License ID: " && read LICENSE_ID
docker login registry.replicated.com --username "${LICENSE_ID}" --password "${LICENSE_ID}"
docker login proxy.replicated.com --username "${LICENSE_ID}" --password "${LICENSE_ID}"
- Exécutez la commande suivante, en remplaçant
<IMAGE>:<TAG>par le nom et le tag de l'image.
cosign verify --key gg_cosign.pub <IMAGE>:<TAG>
Cette commande vérifie l'image par rapport aux signatures qui lui sont associées, en utilisant la clé publique fournie.
Images que vous pouvez vérifier avec Cosign
| Image Type | Repository and Image Name | 2026.6.1 |
|---|---|---|
| GitGuardian Frontend | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/prm-static-chainguard | 2026.6.1 |
| GitGuardian Backend | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/prm-app-chainguard | 2026.6.1 |
| Helm Tooling — preflights, support bundle, and upgrade path check (until 2026.4.0) | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/prm-helm-tooling | 2026.6.1 |
| Replicated SDK — licensing | proxy.replicated.com/proxy/gitguardian/docker.io/replicated/replicated-sdk | 1.19.6 |
| Machine Learning | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/ml-secret-engine-app-chainguard | 1.5.0 |
| File Scanner | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/wolfi/apache-tika | 3.3 |
| Analytics | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/basalt-onprem-analytics | 0.6.3 |
| ggscout | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/ggscout/chainguard | 0.28.1 |
| Log collector — fluent-bit | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/wolfi/fluent-bit | 4.2.4 |
| Log collector — loki | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/wolfi/loki | 3.7.2 |
| Log collector — minio | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/wolfi/minio | 0.20260604 |
| Bash — Custom CA and upgrade path check (starting 2026.5.0) | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/wolfi/bash | 5.3 |
L'organisation du registre privé pour les mêmes images se trouve dans la section Upload GitGuardian Images du guide d'installation airgap.
Exemple :
cosign verify --key gg_cosign.pub proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/prm-app-chainguard:2026.4.0 | jq .
Verification for proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/prm-app-chainguard:2026.4.0 --
The following checks were performed on each of these signatures:
- The cosign claims were validated
- Existence of the claims in the transparency log was verified offline
- The signatures were verified against the specified public key
Sortie attendue :
[
{
'critical':
{
'identity':
{
'docker-reference': 'docker.io/gitguardian/prm-app-chainguard',
},
'image': { 'docker-manifest-digest': 'sha256:b842813ffb597a67c...' },
'type': 'cosign container image signature',
},
'optional':
{
'Bundle':
{
'SignedEntryTimestamp': '',
'Payload':
{
'body': '',
'integratedTime': 1709632488,
'logIndex': 75773529,
'logID': 'c0d23d6ad406...',
},
},
},
},
]
Certificat TLS
L'application impose un accès HTTPS pour protéger les informations sensibles telles que les secrets et le code source. Un certificat TLS est requis pour démarrer l'installation.
Utilisez un certificat valide qui correspond à votre nom de domaine entièrement qualifié (FQDN), par exemple dashboard.gitguardian.mycorp.local. Pour la configuration, consultez la configuration du certificat TLS.
Par défaut, GitGuardian propose une suite de chiffrement prenant en charge uniquement TLS 1.2 et TLS 1.3, ce qui est compatible avec les navigateurs modernes. Lorsque l'option FIPS 140-3 est activée, les protocoles et chiffrements suivants sont utilisés et sont conformes à FIPS 140-3 :
- Protocoles :
TLS 1.2/TLS 1.3 - Chiffrements :
- TLS 1.3 :
TLS_AES_256_GCM_SHA384 - TLS 1.2 :
ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-GCM-SHA384
- TLS 1.3 :
Certificats auto-signés
L'utilisation d'un certificat auto-signé nécessite une gestion supplémentaire de la validation SSL pour les webhooks GitLab ou GitHub. La vérification SSL est activée par défaut et doit être désactivée lors de l'intégration avec GitLab ou GitHub via un certificat auto-signé.
Chiffrement et contrôle d'accès
Étant donné que la base de données contiendra des données sensibles (comme du code source et des fuites), nous recommandons fortement de chiffrer le système de fichiers. De plus, l'accès à l'hôte exécutant l'application doit être limité au personnel essentiel (par exemple, les responsables du déploiement de l'hôte et de l'application).
Restrictions d'inscription
Par défaut, rejoindre le workspace GitGuardian nécessite une inscription via SSO ou un lien d'invitation.
Désactiver les restrictions d'inscription signifie que n'importe qui au sein du réseau de l'instance peut rejoindre votre workspace et potentiellement accéder à des secrets. Si vous choisissez de désactiver ces restrictions, assurez-vous que votre instance GitGuardian n'est accessible que dans un réseau restreint, et non depuis Internet.