Priorisation en utilisant des Dependabot alerts métriques
Les gestionnaires AppSec (Application Security) sont souvent confrontés à une inondation Dependabot alerts, ce qui rend difficile de déterminer les vulnérabilités à résoudre en premier. Dependabot Les métriques fournissent des insights précieux qui permettent de hiérarchiser les alertes efficacement, en veillant à ce que les problèmes de sécurité critiques soient résolus rapidement. Les utilisateurs peuvent ainsi prendre des décisions éclairées, en concentrant leurs ressources sur les vulnérabilités ayant le plus d’impact. Cette approche renforce la posture de sécurité de l’organisation et rationalise la gestion des vulnérabilités.
Présentation des Dependabot métriques
Dependabot Les métriques offrent des informations détaillées sur les vulnérabilités détectées dans vos dépendances. Les indicateurs de performance clés sont les suivants :
* Gravité : indique l’impact potentiel d’une vulnérabilité (par exemple, faible, moyen, élevé, critique). * Exploitabilité : évalue la facilité avec laquelle une vulnérabilité peut être exploitée. * Relation de dépendance : distingue les dépendances directes des dépendances transitives. * Étendue de la dépendance : distingue les dépendances d’exécution des dépendances de développement. Détermine si le code vulnérable est réellement utilisé dans votre application. * Alertes fermées au cours des 30 derniers jours, y compris le nombre d’alertes corrigées par Dependabot, ignorées manuellement et ignorées automatiquement : suit la progression de la résolution des alertes. Illustre comment GitHub Code Security vous aider à détecter les vulnérabilités au début. * Tableau indiquant le nombre total d’alertes ouvertes pour chaque référentiel, ainsi que les données relatives à la gravité et à l’exploitabilité : vous permet d’approfondir votre analyse au niveau du référentiel.
Pour plus d’informations sur ces mesures, consultez À propos des métriques pour les alertes Dependabot.
Vous pouvez également spécifier des filtres complexes, qui sont des combinaisons des filtres individuels disponibles. Pour plus d’informations sur les filtres, consultez Dependabot les filtres d’affichage de tableau de bord.
Étapes pour classer les alertes par ordre de priorité
Ces premières étapes vous aident à identifier les Dependabot alerts qui mettent votre organisation le plus à risque, pour indiquer à vos développeurs les alertes auxquelles se concentrer pour la remédiation.
1. Adapter l’ordre de l’entonnoir selon les besoins de votre organisation
Vous pouvez personnaliser l’ordre par défaut de l’entonnoir dans le graphique « Classement des alertes par ordre de priorité » afin qu’il reflète le profil de risque, les priorités commerciales et les exigences de conformité propres à votre organisation. Consultez Affichage des mesures pour les alertes Dependabot.
2. Cibler les alertes critiques et de gravité élevée
Commencez par identifier les alertes avec la gravité la plus élevée à l’aide du severity-critical ou severity-high des filtres. Ces vulnérabilités représentent le risque le plus élevé et sont souvent classées par ordre de priorité selon les normes de conformité.
3. Évaluer l’exploitabilité et l’accessibilité
Classez par ordre de priorité les vulnérabilités les plus susceptibles d’être exploitées dans votre codebase. Pour identifier les alertes les plus susceptibles d’être exploitées, vous pouvez utiliser le filtre epss_percentage associé à une valeur (par exemple epss_percentage>=0.10).
4. Passer en revue l’étendue et la relation des dépendances
Les dépendances directes sont généralement plus faciles à mettre à jour et peuvent avoir un impact plus important sur la sécurité de votre application. Nous vous recommandons de traiter ces problèmes avant les dépendances transitives, dans la mesure du possible.
Le filtrage des alertes à l’aide du filtre relationship:direct nous permet de voir les vulnérabilités sur les dépendances directes pour les écosystèmes pris en charge tels que npm.
Les dépendances d’exécution sont utilisées par une application en production. La mise à jour de ce type de dépendance peut corriger des vulnérabilités de sécurité, des bogues et améliorer les performances qui affectent directement vos utilisateurs finaux ou vos systèmes. D’autre part, les dépendances de développement sont uniquement utilisées pendant le développement, les tests ou les processus de génération. Bien qu’importantes, les problèmes liés à ces dépendances n’ont généralement pas d’incidence sur votre application en cours d’exécution ou ses utilisateurs.
Vous pouvez utiliser les filtres scope:runtime ou scope:development pour afficher uniquement les alertes relatives aux dépendances d’exécution ou de développement, respectivement.
5. Prendre en compte l’âge des alertes
Les alertes plus anciennes peuvent signaler des risques de longue durée. Passez régulièrement en revue les alertes anciennes et traitez-les afin d’éviter l’accumulation de dettes de sécurité. Par exemple, une fois que vous avez établi qu’un référentiel spécifique comporte plus d’alertes à classer par ordre de priorité que d’autres référentiels, vous pouvez :
- Cliquez sur le nom du référentiel dans le tableau par référentiel pour afficher les alertes relatives à ce référentiel uniquement.
- Utilisez le filtre « Plus anciennes » dans la liste déroulante Trier, ainsi que d’autres critères de tri, pour affiner l’affichage aux alertes correspondant à vos critères d’ancienneté.
6. Tirer parti de l’automatisation
Utilisez les demandes de tirage automatisées de Dependabot pour corriger rapidement les vulnérabilités. Intégrez ces mises à jour dans votre pipeline CI/CD pour une résolution plus rapide et une efficacité améliorée.
Meilleures pratiques
-
**Établissez des contrats de niveau de service (SLA)** pour résoudre les vulnérabilités en fonction de leur gravité. -
**Surveillez régulièrement les mesures** afin d’identifier les tendances et les problèmes récurrents. -
**Collaborez avec les développeurs** pour garantir des mises à jour rapides et minimiser les perturbations. -
**Documentez vos décisions** pour garantir la transparence et orienter les priorités à venir.