Les règles de blocage sont de puissantes garde-fous qui permettent de définir des conditions spécifiques dans lesquelles les pull requests doivent être bloquées pour ne pas être fusionnées. Cela permet de garantir que votre base de code respecte les normes de sécurité et de qualité de votre organisation en empêchant la fusion de modifications de code potentiellement risquées ou non conformes.Vous pouvez créer deux types de règles de blocage :
Règles de vulnérabilité du code: bloquent les pull requests selon les vulnérabilités, les problèmes de qualité du code ou les deux
Règles de vulnérabilité des dépendances: bloquent les pull requests selon les dépendances vulnérables détectées par le scan SCA
Les règles de blocage sont principalement conçues pour :
Équipes de développement
Chefs de projet
Professionnels de la sécurité
Cette fonctionnalité est particulièrement utile pour les organisations ayant des exigences strictes en matière de conformité ou celles travaillant sur des applications critiques où la qualité du code et la sécurité sont primordiales.
Définir des règles basées sur les Common Weakness Enumerations (CWE) pour bloquer les pull requests introduisant des types spécifiques de vulnérabilités ou des problèmes de qualité de code.
Personnaliser les niveaux d’urgence
Attribuez des niveaux d’urgence (par exemple, critique, élevé, moyen, bas) à différents types de problèmes, ce qui vous permet de les prioriser et de les gérer en conséquence.
Filtrer les dépendances par score CVSS
Pour les règles de vulnérabilité des dépendances, définissez une plage inclusive de scores CVSS afin de bloquer les dépendances vulnérables selon leur score.
Périmètre par projet et tag
Appliquez des règles de blocage à des projets spécifiques, à des tags de projet, ou à l’ensemble de votre organisation, ce qui vous donne un contrôle granulaire sur quels projets sont soumis à quelles règles.
Gestion des règles
Créez, modifiez et supprimez facilement des règles de blocage grâce à une interface conviviale, afin de garantir que vos règles restent à jour avec vos besoins évolutifs.
Activation/désactivation des règles
Activez ou désactivez temporairement les règles de blocage selon vos besoins, sans perdre leur configuration.
Prérequis Vous devez avoir installé et configuré la Corgea GitHub App avec les autorisations de dépôt requises.
1
Soumission de pull request
Le développeur soumet une pull request avec des modifications de code
2
Analyse automatisée
Le système analyse les modifications du code au regard des règles de blocage actives
3
Validation des règles
Si des violations sont détectées, la pull request est automatiquement bloquée
4
Notification au développeur
Le développeur reçoit une notification détaillée concernant les violations des règles
5
Résolution
Avant que la fusion ne soit autorisée, le développeur doit corriger les violations et les marquer comme corrigées, ou les classer comme faux positifs ou risques acceptés
Prérequis Assurez-vous que l’intégration Azure DevOps avec Corgea est configurée et que vous disposez des autorisations nécessaires.
1
Soumission de pull request
Un développeur soumet une pull request avec des modifications de code dans Azure DevOps.
2
Analyse automatisée
Le système évalue les modifications du code selon les règles de blocage actives définies dans Corgea.
3
Validation des règles
Si des violations sont détectées, la pull request est automatiquement bloquée.
Le développeur ne peut pas fusionner la pull request tant que les violations ne sont pas résolues.
4
Notification au développeur
Le développeur reçoit un lien vers les informations détaillées sur les problèmes ayant entraîné l’échec, dans la page de scan Corgea.
5
Résolution
Le développeur doit résoudre les violations en les corrigeant ou en les marquant comme faux positifs ou risque accepté avant que la fusion puisse se poursuivre.
Cliquez sur le bouton « Ajouter une règle de blocage »
2
Choisir le type de règle
Sélectionnez le type de règle de blocage :
Vulnérabilité du code: bloque les pull requests selon les problèmes de sécurité du code (résultats SAST)
Vulnérabilité de dépendance: bloque les pull requests selon les dépendances vulnérables (résultats SCA)
3
Informations de base
Saisissez le nom et la description de la règle
4
Configurer les paramètres
Pour les règles de vulnérabilité du code : choisissez un type de problème afin d’appliquer la règle à Tous les résultats, uniquement aux Vulnérabilités ou uniquement aux résultats de Qualité du code. Tous est la valeur par défaut et préserve le comportement des règles existantes. Sélectionnez ensuite les niveaux d’urgence (critique, élevé, moyen ou faible) et/ou les CWE ciblées ; au moins un de ces critères est requis.Pour les règles de vulnérabilité des dépendances : choisissez un filtrage par sévérité ou par score CVSS. Sélectionnez les niveaux d’urgence (critique, élevé, moyen ou faible), ou saisissez un score CVSS minimal et maximal compris entre 0,0 et 10,0 afin de bloquer les dépendances vulnérables dans cette plage inclusive.
5
Définir le périmètre
Choisissez les projets concernés et/ou les tags de projet (optionnel). Une règle s’applique lorsqu’un projet est sélectionné directement ou possède un tag sélectionné. Si aucun projet ou tag n’est sélectionné, la règle s’applique à tous les projets.
Recherchez les règles par nom ou par paramètre, ou utilisez le filtre de tags de projet pour afficher celles qui s’appliquent aux projets portant un tag donné. Dans le tableau des règles, la colonne Projets affiche les projets et tags sélectionnés sous forme de badges. Les règles sans périmètre de projet ou de tag indiquent Tous les projets ; les longues listes sont regroupées derrière une infobulle +N autres.
Vous pouvez consulter les règles de blocage qui s’appliquent à vos scans à deux endroits :
Sur la page des détails du scan, vous verrez une section « Règles de blocage » affichant toutes les règles évaluées :
Dans les détails d’un problème, vous pouvez voir les règles de blocage qu’il a déclenchées :
Cela facilite la compréhension des règles qui affectent vos scans et des problèmes spécifiques, vous aidant à identifier pourquoi certains changements peuvent être bloqués.
Type de règle : Vulnérabilité du codeCréez une règle ciblant CWE-326 (puissance de chiffrement insuffisante) et CWE-327 (utilisation d’un algorithme cryptographique cassé ou risqué), avec une urgence « critique », afin d’empêcher l’utilisation d’un chiffrement faible.
Faire respecter la qualité du code
Type de règle : Vulnérabilité du codeSélectionner Qualité du code en tant que type de problème, puis établissez une règle pour CWE-398 (Indicateur de mauvaise qualité du code) et CWE-477 (Utilisation de fonctions obsolètes) avec une urgence « Moyenne » pour maintenir les normes de code.
Blocage des vulnérabilités critiques de dépendance
Type de règle : Vulnérabilité de dépendanceCréez une règle avec les niveaux d’urgence « Critique » et « Élevé » pour bloquer automatiquement toute pull request qui introduit des dépendances présentant des vulnérabilités critiques ou de sévérité élevée. Vous protégez ainsi votre chaîne d’approvisionnement contre les paquets vulnérables connus.
Blocage des dépendances par plage CVSS
Type de règle : Vulnérabilité de dépendanceCréez une règle qui filtre par CVSS comme 7.0 à 10.0, pour bloquer les pull requests introduisant des dépendances vulnérables dans cette plage de score.
Commencez par les règles essentielles et développez progressivement
Pour les règles de vulnérabilité des dépendances, commencez par la sévérité critique uniquement ou par une plage CVSS ciblée, puis élargissez les critères à mesure que votre équipe s’adapte
Pour Règles de vulnérabilité de code, concentrez-vous d’abord sur les CWE les plus impactants (par exemple, failles d’injection, problèmes d’authentification)
Revues régulières et mises à jour
Documentation claire et formation d’équipe
Encourager les retours et la collaboration
Utilisation stratégique des niveaux d’urgence
Considérez les tags de projet alors que la même règle devrait couvrir un groupe de projets liés