Intégrer GitLab
Protégez votre code source en surveillant les dépôts GitLab à la recherche de secrets exposés dans les commits, merge requests et fichiers de projet.
Pourquoi surveiller GitLab ?
Les dépôts GitLab constituent l'épine dorsale des workflows DevOps modernes, ce qui en fait des cibles privilégiées pour l'exposition de secrets. Lorsque les développeurs commitent des credentials, des tokens API ou des secrets de configuration, ils créent des vulnérabilités permanentes dans l'historique git qui peuvent être exploitées par toute personne ayant accès au dépôt, compromettant potentiellement des environnements de développement et de production entiers.
Capacités
| Fonctionnalité | Support | Détails |
|---|---|---|
| Analyse historique | ✅ (Pris en charge) | Analyse complète de l'historique du dépôt |
| Détection en temps réel | ✅ (Pris en charge) | Détection instantanée via webhooks |
| Périmètre surveillé | ✅ (Pris en charge) | Surveillance granulaire de vos Orgs et dépôts |
| Périmètre d'équipe | ✅ (Pris en charge) | Contrôle d'accès basé sur l'équipe |
| Vérification de présence | ✅ (Pris en charge) | Vérifier si les secrets sont toujours accessibles |
| Pièces jointes | ❌ (Non pris en charge) | Non applicable pour les dépôts de code |
Ce que nous analysons :
- Fichiers de code source, fichiers de configuration et fichiers texte brut
- Toutes les branches du dépôt et l'historique des commits
Configuration
Prérequis :
- Compte Owner ou Manager sur votre Dashboard GitGuardian
- Permissions GitLab admin (pour les system hooks) ou group owner (pour les group hooks)
- Personal access token avec les scopes appropriés
- Connectivité réseau entre GitGuardian et vos services self-hosted. Découvrez GitGuardian Bridge pour permettre des connexions sécurisées entre GitGuardian SaaS et vos services self-hosted dans des réseaux privés.
GitGuardian s'intègre à GitLab de deux façons : au niveau de l'instance avec les system hooks ou au niveau du groupe avec les group hooks. Veuillez vous référer à la documentation GitLab pour plus d'informations sur les system hooks et les group hooks.
Créer un Personal Access Token
Nous recommandons fortement d'utiliser un utilisateur bot pour générer les personal access tokens.
Comme mentionné ci-dessus, seuls les personal access tokens sont actuellement pris en charge. D'autres types de tokens (comme les group access tokens) ne sont pas pris en charge.
- Naviguez vers vos paramètres utilisateur GitLab
- Allez dans la section Access Tokens
- Créez un personal access token avec un nom simple comme "GitGuardian" et scope
api.
Le personal token permet à GitGuardian de créer des webhooks via vos permissions GitLab.
Veuillez vous référer à la documentation GitLab pour plus d'informations sur les personal access tokens.
Il est également possible d'utiliser un personal access token avec le scope read_api. Dans ce cas, une URL de hook et un secret token seront affichés une fois que vous aurez soumis le formulaire. Utilisez cette URL de hook et ce secret token pour ajouter un nouveau system hook sur votre instance GitLab. Une fois cela fait, votre intégration GitLab sera fonctionnelle.
Si "Admin mode" est activé sur votre instance GitLab, vous aurez besoin du scope admin_mode en plus du scope api ou read_api.
Intégrer votre instance GitLab avec des system hooks
Les system hooks ne peuvent être créés que par un Administrator de l'instance, ils donnent accès aux projets appartenant à tous les utilisateurs et groupes. L'intégration system hook n'est disponible que pour la version on-premise de GitLab (une telle intégration n'est pas possible sur GitLab.com).
Nous recommandons d'utiliser un utilisateur bot lors de l'intégration avec GitGuardian.
Prérequis
- GitLab self-managed : GitLab Community Edition ou tout plan de GitLab Enterprise Edition. v11.0+
- GitLab.com (SaaS) : IMPORTANT GitGuardian ne peut pas s'intégrer à GitLab.com (SaaS) via les System hooks.
Directives
- Naviguez vers Settings > Integrations > Sources.
- Cliquez sur Configure pour GitLab.
- Cliquez sur Start pour l'option system hook : "Monitor the entire GitLab instance"
- Soumettez l'URL de votre instance GitLab et le personal access token créé.
attentionGitLab instance URL doit être préfixé par
https://, les instances sans connexion sécurisée ne seront pas surveillées. - GitGuardian commencera instantanément à surveiller votre instance GitLab. Vous pouvez voir les projets et groupes surveillés dans
votre page paramètres GitLab en cliquant sur See my GitLab perimeter :

Détails de l'abonnement aux événements
Notre system hook s'abonnera aux événements suivants :
Repository update eventsPush eventsMerge request events
et la vérification SSL sera activée.
Autres événements auxquels nos system hooks s'abonneront mais ne traiteront pas :
Tag push eventsIssues eventsConfidential issues eventsCommentsConfidential commentsJob eventsPipeline eventsWiki page eventsDeployments eventsReleases eventsMember eventsSubgroup eventsFeature flag events
Dépannage
- GitGuardian détecte automatiquement si le system hook est supprimé du côté GitLab ou si le Personal access token devient invalide (en expirant ou en étant révoqué). Nous enverrons un email pour vous notifier. Toutes vos données existantes resteront accessibles.
- Si votre instance GitLab est marquée comme "not monitored" mais que le personal access token associé est toujours actif, vous pouvez la réactiver en cliquant sur le bouton synchronize. Il recréera un system hook de manière programmatique.

- Si le token est invalide, vous pouvez définir un nouveau personal access token en l'éditant :

- Si le token admin est révoqué, GitGuardian le détectera et désactivera automatiquement votre intégration GitLab si aucun autre token actif n'est présent. Si un autre token approprié pour la surveillance existe, l'intégration GitLab utilisera ce token. Toutes vos données existantes resteront accessibles.
IMPORTANT : ne changez pas l'URL ou le Personal access token du system hook depuis l'interface admin GitLab car cela cassera l'intégration.
Intégrer vos groupes GitLab avec des group hooks
Les group hooks nécessitent que l'utilisateur ait des permissions Owner sur les groupes GitLab à surveiller. Les group hooks ne supportent pas la surveillance des projets personnels des utilisateurs GitLab. L'intégration group hook fonctionne pour GitLab on-premise et Gitlab.com. Notez que vous ne pouvez surveiller que jusqu'à 50 000 projets par groupe pour une intégration group hook.
Nous recommandons d'utiliser un utilisateur bot lors de l'intégration avec GitGuardian.
Notez que vous ne pouvez pas avoir une intégration system hook et une intégration group hook en même temps.
Prérequis
- GitLab self-managed : plan Starter et niveaux supérieurs. v13.5+
- GitLab.com (SaaS) : plan Premium
Directives
- Naviguez vers Settings > Integrations > Sources.
- Cliquez sur Configure pour GitLab.
- Cliquez sur Start pour l'option group hook : "Monitor only certain GitLab groups"
- Soumettez l'URL de votre instance GitLab et le personal access token, et assurez-vous de nommer ce personal access token car vous pourriez en utiliser plusieurs
à l'avenir pour intégrer plus de groupes GitLab.
attentionGitLab instance URL doit être préfixé par
https://, les instances sans connexion sécurisée ne seront pas surveillées. - Vous êtes ensuite amené à la page de configuration de votre intégration GitLab où vous pouvez voir la liste de tous les groupes
et sous-groupes GitLab auxquels votre personal access token donne accès.
Cliquez sur Install pour les groupes et sous-groupes GitLab que vous voulez que GitGuardian surveille.

- Vous pouvez voir les projets et groupes surveillés dans votre page paramètres GitLab

Remarques d'installation
- Lorsque vous choisissez d'installer un groupe GitLab, tous ses sous-groupes seront également installés automatiquement. Ce faisant, le groupe "parent" et les sous-groupes "enfants" sont liés ensemble et si vous voulez désinstaller un seul sous-groupe, vous devrez d'abord désinstaller le groupe "parent".
- Un groupe GitLab ne peut pas appartenir à deux personal access tokens. Par conséquent, lorsque vous voulez installer un groupe "parent" qui a déjà un sous-groupe installé, vous devez d'abord désinstaller le sous-groupe "enfant".
Détails de l'abonnement aux événements
Nos group hooks s'abonneront aux événements suivants :
Repository update eventsPush eventsMerge request events
et la vérification SSL sera activée.
Autres événements auxquels nos group hooks s'abonneront mais ne traiteront pas :
Tag push eventsIssues eventsConfidential issues eventsCommentsConfidential commentsJob eventsPipeline eventsWiki page eventsDeployments eventsReleases eventsMember eventsSubgroup eventsFeature flag events
Dépannage
- Vous pouvez soumettre de nouveaux personal access tokens si vous voulez surveiller plus de groupes GitLab. Plusieurs tokens peuvent être ajoutés pour l'intégration group hooks.
Si plusieurs tokens sont associés au même groupe GitLab, vous devez choisir quel token le surveillera.

- Si le token est révoqué, le groupe ne sera plus surveillé (vous pouvez l'installer à nouveau avec un autre token, mais GitGuardian ne choisira pas arbitrairement un autre token pour vous). Dans ce scénario, vous recevrez un email vous informant du statut non surveillé de l'intégration.
Analyse historique automatique
Par défaut, GitGuardian effectue une analyse historique pour chaque nouveau projet GitLab ajouté à votre périmètre.
Vous pouvez désactiver ce comportement dans vos paramètres GitLab si vous êtes Manager du workspace.

Surveillance automatique des dépôts
Par défaut, GitGuardian surveille automatiquement les dépôts ajoutés à votre périmètre.
Vous pouvez désactiver ce comportement dans vos paramètres GitLab si vous êtes Manager du workspace.
Comprendre les capacités d'analyse
Analyse historique
Découvrir votre dette de secrets : lors de votre première intégration de cette source, GitGuardian effectue une analyse complète de tout votre historique de contenu, basée sur votre périmètre personnalisé. Cela révèle les secrets qui peuvent avoir été exposés il y a des semaines, des mois, voire des années — vous aidant à traiter votre dette de sécurité existante.
Analyse en temps réel
Détectez instantanément les nouvelles expositions : une fois intégré, GitGuardian surveille en continu votre contenu via une détection basée sur les événements. Tout contenu nouveau ou modifié contenant des secrets est détecté immédiatement, vous permettant de réagir rapidement aux nouvelles expositions.
Personnaliser votre périmètre surveillé
Une fois votre intégration GitLab configurée, vous avez la possibilité de configurer quels projets surveiller dans la section paramètres GitLab de votre workspace.
Si vous désélectionnez un projet de votre périmètre surveillé :
- GitGuardian ne récupérera plus le contenu de ses commits, vous ne recevrez donc aucune alerte liée à ce projet.
- Le webhook installé sur ce projet existera toujours, vous pouvez donc facilement réactiver la surveillance à tout moment.