Recommandations et informations de sécurité
Common Vulnerabilities and Exposures
GitGuardian construit ses images self-hosted au-dessus des images Base-OS hardened de Chainguard, ce qui réduit significativement la surface CVE des conteneurs frontend et backend, avec un objectif de 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 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é optionnelle pour les installations Helm. Lorsqu'ils sont activés, GitGuardian utilise les variantes FIPS-conformes de ses images d'application 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 airgap, 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 consulter le Chainguard's FIPS Commitment pour les détails sur la garantie et les modules cryptographiques certifiés.
Images GitGuardian pour le scan CVE
Le tableau ci-dessous liste les images livrées dans la release actuelle afin que vous puissiez les fournir à votre scanner CVE (Trivy, Grype, Snyk, etc.) ou pipeline de gestion des vulnérabilités. Les variantes FIPS portent le suffixe -fips sur le même repository.
Liste des images de la release actuelle
| Image Type | Repository and Image Name | 2026.4 |
|---|---|---|
| GitGuardian Frontend | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/prm-static-chainguard | 2026.4.0 |
| GitGuardian Backend | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/prm-app-chainguard | 2026.4.0 |
| 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.4.0 |
| Replicated SDK — licensing | proxy.replicated.com/proxy/gitguardian/docker.io/replicated/replicated-sdk | 1.19.3 |
| Machine Learning | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/ml-secret-engine-app-chainguard | 0.23.0 |
| File Scanner | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/wolfi/apache-tika | 3.2 |
| Analytics | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/basalt-onprem-analytics | 0.4.0 |
| ggscout | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/ggscout/chainguard | 0.27.0 |
| 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.6.10 |
| Log collector — minio | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/wolfi/minio | 0.20260330 |
| 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 la structure de répertoires du registre privé sont maintenus dans le Guide d'installation Airgap.
Image Analytics : évaluation du risque CVE
L'image de la fonctionnalité Analytics (gitguardian/basalt-onprem-analytics) repose sur une stack d'analyse de données basée sur Python dont l'arbre de dépendances transitives présente des défis de patching continus inhérents à cette catégorie de logiciels.
Le risque de sécurité est minimal. L'image s'exécute en CronJob Kubernetes nocturne sans serveur web, listener réseau ou connexion entrante d'aucune sorte. Elle écrit uniquement dans des bases internes au cluster (PostgreSQL) et traite des métadonnées internes GitGuardian — pas les secrets clients ni le code source. La grande majorité des CVE de cette image décrivent des vulnérabilités qui requièrent 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 pour toute CVE présentant un chemin d'exploitation réaliste.
Cosign pour la signature d'images
GitGuardian a renforcé la sécurité de nos images via l'implémentation 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 jusqu'au déploiement. Toutes les images GitGuardian peuvent être vérifiées en suivant 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, consultez la documentation Sigstore Policy Controller.
Avant de commencer : téléchargez Cosign pour la vérification d'images : Download Cosign
Étapes de vérification :
- Sauvegardez 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 identifiant de licence 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 stockées avec elle, en utilisant la clé publique fournie.
Images que vous pouvez vérifier avec Cosign
| Image Type | Repository and Image Name | 2026.4 |
|---|---|---|
| GitGuardian Frontend | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/prm-static-chainguard | 2026.4.0 |
| GitGuardian Backend | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/prm-app-chainguard | 2026.4.0 |
| 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.4.0 |
| Replicated SDK — licensing | proxy.replicated.com/proxy/gitguardian/docker.io/replicated/replicated-sdk | 1.19.3 |
| Machine Learning | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/ml-secret-engine-app-chainguard | 0.23.0 |
| File Scanner | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/wolfi/apache-tika | 3.2 |
| Analytics | proxy.replicated.com/proxy/gitguardian/docker.io/gitguardian/basalt-onprem-analytics | 0.4.0 |
| ggscout | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/ggscout/chainguard | 0.27.0 |
| 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.6.10 |
| Log collector — minio | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/wolfi/minio | 0.20260330 |
| Bash — Custom CA and upgrade path check (starting 2026.5.0) | proxy.replicated.com/proxy/gitguardian/ghcr.io/gitguardian/wolfi/bash | 5.3 |
La structure de répertoires du registre privé pour les mêmes images se trouve dans la section Téléverser les images GitGuardian 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 comme les secrets et le code source. Un certificat TLS est requis pour démarrer l'installation.
Utilisez un certificat valide qui correspond à votre Fully Qualified Domain Name (FQDN), par exemple dashboard.gitguardian.mycorp.local. Pour la configuration, voir la mise en place du certificat TLS.
Par défaut, GitGuardian sert 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 contiendra des données sensibles (comme du code source et des leaks), nous recommandons fortement de chiffrer le système de fichiers. De plus, l'accès à l'hôte exécutant l'application devrait être limité aux personnes essentielles (par ex. 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 sur le 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 sur un réseau restreint, et non depuis Internet.