Skip to main content

Mise en place de l’intégration GitLab avec Corgea

L’intégration GitLab permet de connecter facilement vos dépôts aux fonctions de scan et de remédiation des vulnérabilités de Corgea. Corgea peut scanner automatiquement le code des merge requests et y publier des commentaires détaillant les problèmes détectés et les correctifs proposés. Vous pouvez également ajouter des dépôts GitLab à Corgea avec Dropsite et créer directement depuis Corgea des merge requests pour les problèmes détectés.

Prérequis

Avant de configurer l’intégration GitLab, assurez-vous d’avoir les éléments suivants :
  1. Un compte Corgea
  2. Un compte GitLab avec un dépôt que vous souhaitez intégrer

Mise en place de l’intégration

1

Accéder aux intégrations

Connectez-vous à votre compte Corgea et allez dans la section « Intégrations ».
2

Ajouter l’intégration GitLab

Cliquez sur le bouton « Ajouter une intégration » et sélectionnez « GitLab » dans la liste des intégrations disponibles.
3

Configurer l’intégration

Dans le formulaire « Ajouter l’intégration GitLab », fournissez les informations suivantes :
  • Nom : nom explicite de votre intégration GitLab.
  • URL GitLab : URL de base de votre instance GitLab (par exemple, https://gitlab.com ou https://gitlab.example.com pour une instance auto-hébergée).
  • Token sécurisé : token d’accès personnel disposant des autorisations nécessaires pour accéder à votre dépôt GitLab. Vous pouvez en générer un en suivant la documentation GitLab.
  • Répertorier uniquement les projets dont je suis membre : cette option est activée par défaut et limite la sélection aux projets dont le propriétaire du token est membre. Désactivez-la pour répertorier les autres projets accessibles au token, notamment les projets publics ou accessibles avec un rôle d’administrateur ou d’auditeur.
  • Commenter les merge requests : cochez cette option pour que Corgea commente automatiquement les merge requests avec les vulnérabilités détectées et les correctifs proposés.
4

Sauvegarder la configuration

Cliquez sur « Enregistrer » pour créer l’intégration GitLab.

Mise en place de GitLab

Pour permettre à Corgea de scanner vos dépôts et de commenter les merge requests, vous devez configurer quelques paramètres dans GitLab :
1

Créer un token d’accès

Recommandation : créez un utilisateur Corgea dédié dans GitLab afin que les commentaires et les merge requests soient clairement attribués à Corgea.Option 1 : token d’accès personnel (associé à l’utilisateur Corgea)
  1. Créez un nouveau compte utilisateur GitLab nommé « Corgea » (ou similaire)
  2. Connectez-vous au compte utilisateur Corgea
  3. Accédez à Paramètres utilisateur > Tokens d’accès
  4. Créez un token avec les scopes suivants :
    • api (accès en lecture/écriture à l’API)
    • read_api
    • read_repository
    • write_repository
  5. Copiez le token généré : vous en aurez besoin pour configurer l’intégration Corgea
Option 2 : token d’accès de groupe
  1. Accédez aux paramètres > Tokens d’accès de votre groupe
  2. Créez un token d’accès de groupe avec les mêmes scopes que ci-dessus
  3. Ce token s’appliquera à tous les projets du groupe
  4. Copiez le token généré : vous en aurez besoin pour configurer l’intégration Corgea
2

Configurer le webhook

Pour le webhook au niveau du projet :
  1. Rendez-vous dans les paramètres > Webhooks de votre projet
  2. Ajoutez un nouveau webhook avec les paramètres suivants :
    • URL : https://www.corgea.app/gitlab_webhook/ (ou l’URL de webhook qui vous a été fournie)
    • En-tête personnalisé : ajoutez X-Corgea-UUID avec la valeur indiquée dans la page des paramètres d’intégration > GitLab > Voir tout
    • Sélectionnez les déclencheurs :
      • Événements de merge request
      • Commentaires
  1. Cliquez sur « Ajouter un webhook »
Pour le webhook au niveau du groupe :
  1. Rendez-vous dans les paramètres > Webhooks de votre groupe
  2. Suivez les mêmes étapes que ci-dessus
  3. Le webhook s’appliquera à tous les projets du groupe
3

Vérifier la configuration

  1. Créez une merge request de test
  2. Vérifiez que Corgea reçoit le webhook et commente la merge request
  3. Consultez les livraisons récentes du webhook dans GitLab pour vérifier que la communication a réussi

Ajouter des dépôts GitLab avec Dropsite

1

Accéder à Dropsite

Connectez-vous à votre compte Corgea et allez dans la section Dropsite.
2

Sélectionner le mode de connexion

Dans l’étape « Ajouter votre code », sélectionnez l’option « Connecter Corgea ».
3

Choisir GitLab

Choisissez l’intégration « GitLab » parmi la liste des intégrations disponibles.
4

Sélectionner un dépôt

Sélectionnez le dépôt et la branche que vous souhaitez scanner depuis votre compte GitLab.
5

Lancer le scan

Cliquez sur « Confirmer » pour lancer le scan.
Corgea récupère le code du dépôt et de la branche sélectionnés, puis effectue un scan de sécurité complet.

Créer des merge requests à partir de problèmes Corgea

Lorsque Corgea détecte un problème de sécurité et génère un correctif, vous pouvez créer une merge request directement depuis la page de détails du problème :
  1. Accédez à la page Détails du problème pour la vulnérabilité que vous souhaitez corriger
  2. Repérez l’option « Issue MR » dans le menu déroulant
  3. Cliquez sur « Issue MR » pour demander à Corgea de :
    • Créer une branche à partir de la branche de base configurée
    • Committer le correctif avec un message explicite
    • Créer une merge request contenant les modifications
    • Ajouter un commentaire détaillé expliquant la vulnérabilité et le correctif (si cette option est activée)
Le lien vers la merge request s’affiche dans la page de détails du problème. Vous pouvez ensuite suivre votre workflow GitLab habituel pour examiner et fusionner les modifications.

Fonctionnement de l’intégration

Une fois l’intégration GitLab configurée, Corgea scanne automatiquement votre code à la recherche de vulnérabilités dès qu’une merge request est créée ou mise à jour :
  1. Lorsqu’une merge request est créée ou mise à jour dans votre dépôt GitLab, Corgea reçoit une notification webhook de GitLab.
  2. Corgea récupère les modifications de code de la merge request et effectue un scan de sécurité complet.
  3. Si des vulnérabilités sont détectées, Corgea publie sur la merge request un commentaire qui détaille les problèmes et les correctifs proposés. Les commentaires ne sont placés que sur les lignes du diff de la merge request. Pour un problème portant sur plusieurs lignes, Corgea rattache le commentaire à la première ligne modifiée de la plage concernée.
  4. Vous pouvez consulter les commentaires et appliquer les correctifs suggérés pour corriger les vulnérabilités avant de fusionner le code.

Avantages de l’intégration GitLab

En intégrant Corgea à votre dépôt GitLab, vous pouvez bénéficier des avantages suivants :
  • Scan de sécurité automatisé : Corgea scanne automatiquement votre code pendant le processus de merge request afin de détecter les problèmes de sécurité tôt dans le cycle de développement.
  • Rapports détaillés sur les vulnérabilités : Corgea fournit des informations détaillées sur les vulnérabilités détectées, notamment leur sévérité, leur emplacement et leur impact potentiel.
  • Correctifs proposés : Corgea détecte les vulnérabilités et propose des correctifs pour vous aider à les traiter rapidement et efficacement.
  • Intégration fluide : l’intégration GitLab s’insère dans votre workflow de développement existant, avec un minimum de perturbations.
  • Amélioration de la qualité du code : traiter les vulnérabilités tôt dans le cycle de développement améliore la qualité et la sécurité globales de votre code.
  • Options de scan flexibles : outre le scan automatique des merge requests, la fonctionnalité Dropsite permet de scanner à la demande des dépôts GitLab.
  • Application des correctifs en un clic : créez des merge requests directement depuis la page de détails d’un problème Corgea afin d’appliquer les correctifs facilement.
L’intégration GitLab et la fonctionnalité Dropsite de Corgea renforcent la sécurité de vos applications tout en simplifiant vos processus de développement, afin de fournir à vos utilisateurs des logiciels plus sûrs et plus fiables.