Date de publication : 1 mai 2026
Temps de lecture : 7 min
Découvrez comment filtrer les faux positifs dans les résultats des scanners et vous concentrer sur les vulnérabilités critiques grâce à la sécurité GitLab, avec des cas d'utilisation et des templates prêts à l'emploi.

Les scanners de sécurité sont indispensables, mais tous les résultats ne nécessitent pas une intervention. Le code de test, les dépendances embarquées, les fichiers générés et les faux positifs connus créent une couche qui masque les vulnérabilités critiques. Les équipes de sécurité perdent des heures à rejeter manuellement les mêmes résultats non pertinents d'un projet et d'un pipeline à l'autre. Résultat : le classement prend plus de temps, une lassitude face aux alertes s'installe et les frictions avec les équipes de développement compromettent l'adoption des scans de sécurité.
Les politiques de rejet automatique des vulnérabilités de GitLab vous permettent de codifier vos décisions de classement une seule fois et de les appliquer automatiquement à chaque exécution du pipeline sur la branche par défaut. Définissez des critères basés sur le chemin de fichier, le répertoire ou l'identifiant de vulnérabilité (vulnérabilités ou expositions communes – CVE, CWE), choisissez un motif de rejet et laissez GitLab faire le reste.
Les politiques de rejet automatique des vulnérabilités permettent aux équipes de sécurité :
Chaque exemple ci-dessous inclut une configuration de politique que vous pouvez copier, personnaliser et appliquer immédiatement.
Les scanners de test statique de sécurité des applications (SAST) et de dépendances signalent des identifiants codés en dur, des données de test non sécurisées et des dépendances de développement dans les répertoires de test. Ces résultats ne représentent pas des risques en production.
vulnerability_management_policy:
- name: "Dismiss test code vulnerabilities"
description: "Auto-dismiss findings in test directories"
enabled: true
rules:
- type: detected
criteria:
- type: file_path
value: "test/**/*"
- type: detected
criteria:
- type: file_path
value: "tests/**/*"
- type: detected
criteria:
- type: file_path
value: "spec/**/*"
- type: detected
criteria:
- type: directory
value: "__tests__/*"
actions:
- type: auto_dismiss
dismissal_reason: used_in_tests
Les vulnérabilités dans les répertoires vendor/, third_party/ ou node_modules versionnés sont gérées en amont, et votre équipe ne peut pas y toucher.
vulnerability_management_policy:
- name: "Dismiss vendored dependency findings"
description: "Findings in vendored code are managed upstream"
enabled: true
rules:
- type: detected
criteria:
- type: directory
value: "vendor/*"
- type: detected
criteria:
- type: directory
value: "third_party/*"
- type: detected
criteria:
- type: directory
value: "vendored/*"
actions:
- type: auto_dismiss
dismissal_reason: not_applicable
Certaines CVE sont signalées de manière récurrente, mais ne s'appliquent pas à votre contexte d'utilisation. Les équipes les rejettent manuellement à chaque apparition. Remplacez les CVE de l'exemple ci-dessous par les vôtres.
vulnerability_management_policy:
- name: "Dismiss known false positive CVEs"
description: "CVEs confirmed as false positives for our environment"
enabled: true
rules:
- type: detected
criteria:
- type: identifier
value: "CVE-2023-44487"
- type: detected
criteria:
- type: identifier
value: "CVE-2024-29041"
- type: detected
criteria:
- type: identifier
value: "CVE-2023-26136"
actions:
- type: auto_dismiss
dismissal_reason: false_positive
Les générateurs Protobuf, gRPC, OpenAPI et les outils de génération automatique de structure de code ORM produisent des fichiers contenant des motifs signalés que votre équipe ne peut pas corriger.
vulnerability_management_policy:
- name: "Dismiss generated code findings"
description: "Generated files are not authored by us"
enabled: true
rules:
- type: detected
criteria:
- type: directory
value: "generated/*"
- type: detected
criteria:
- type: file_path
value: "**/*.pb.go"
- type: detected
criteria:
- type: file_path
value: "**/*.generated.*"
actions:
- type: auto_dismiss
dismissal_reason: not_applicable
Cette politique concerne les classes de vulnérabilités telles que XSS (CWE-79) ou l'injection SQL (CWE-89) déjà couvertes par des règles WAF ou une protection au niveau de l'exécution. N'utilisez cette politique que lorsque les contrôles d'atténuation sont vérifiés et appliqués de manière systématique.
vulnerability_management_policy:
- name: "Dismiss CWEs mitigated by WAF"
description: "XSS and SQLi mitigated by WAF rules"
enabled: true
rules:
- type: detected
criteria:
- type: identifier
value: "CWE-79"
- type: detected
criteria:
- type: identifier
value: "CWE-89"
actions:
- type: auto_dismiss
dismissal_reason: mitigating_control
Votre équipe a déjà évalué une série de CVE liées à une bibliothèque très répandue ? Appliquez la politique au niveau du groupe pour les rejeter dans des dizaines de projets. Le motif générique (par exemple, CVE-2021-44*) correspond à toutes les CVE avec ce préfixe.
vulnerability_management_policy:
- name: "Accept risk for log4j CVE family"
description: "Log4j CVEs mitigated by version pinning and WAF"
enabled: true
rules:
- type: detected
criteria:
- type: identifier
value: "CVE-2021-44*"
actions:
- type: auto_dismiss
dismissal_reason: acceptable_risk
| Paramètre | Détails |
|---|---|
| Types de critères | file_path (motifs glob, par exemple test/**/*), directory (par exemple vendor/*), identifier (CVE/CWE avec caractères génériques, par exemple CVE-2023-*) |
| Motifs de rejet | acceptable_risk, false_positive, mitigating_control, used_in_tests, not_applicable |
| Logique des critères | Plusieurs critères dans une règle = ET (tous doivent correspondre). Plusieurs règles dans une politique = OU (au moins une doit correspondre). |
| Limites | 3 critères par règle, 5 règles par politique, 5 politiques par projet de politique de sécurité. Les actions de politique de gestion des vulnérabilités traitent 1 000 vulnérabilités par exécution de pipeline dans le projet cible, jusqu'à ce que toutes les vulnérabilités correspondantes soient traitées. |
| Statuts concernés | Nécessite un classement, Confirmé |
| Portée | Au niveau du projet ou du groupe (une politique de groupe s'applique à tous les projets) |
Voici comment définir vos premières politiques de rejet automatique :
Pour tous les détails de configuration, consultez la documentation sur les politiques de gestion des vulnérabilités.
Vous souhaitez maîtriser la gestion des faux positifs liés aux vulnérabilités ? Démarrez un essai gratuit de GitLab Ultimate et configurez votre première politique de rejet automatique dès aujourd'hui.
Cet article de blog vous a plu ? Vous avez des questions ou des retours à nous faire ? Donnez votre avis en créant un nouveau sujet sur le forum de la communauté GitLab.
Faites-nous part de vos commentaires