À propos des alertes d’code scanning
Vous pouvez configurer l’code scanning pour vérifier le code dans un référentiel en utilisant l’analyse CodeQL par défaut, une analyse tierce ou plusieurs types d’analyse. Une fois l’analyse terminée, les alertes résultantes s’affichent côte à côte dans l’affichage de sécurité du dépôt. Les résultats provenant d’outils tiers ou de requêtes personnalisées peuvent ne pas inclure toutes les propriétés que vous voyez pour les alertes détectées par l’analyse CodeQL par défaut de GitHub. Pour plus d’informations, consultez « Définition de l’analyse du code ».
Par défaut, l’code scanning analyse votre code périodiquement sur la branche par défaut et lors des demandes de tirage (pull request). Pour plus d’informations sur la gestion des alertes de demande de tirage, consultez « Triage des alertes d’analyse du code dans les demandes de tirage (pull request) ».
Vous pouvez auditer les actions effectuées en réponse aux alertes code scanning à l’aide des outils GitHub. Pour plus d’informations, consultez « Audit des alertes de sécurité ».
À propos des détails des alertes
Chaque alerte met en évidence un problème avec le code et le nom de l’outil qui l’a identifié. Vous pouvez voir la ligne de code qui a déclenché l’alerte ainsi que les propriétés de l’alerte, telles que la gravité de l’alerte, la gravité de sécurité et la nature du problème. Les alertes vous indiquent également quand le problème a été introduit pour la première fois. Pour les alertes identifiées par l’analyse CodeQL, vous voyez également des informations sur la façon de résoudre le problème.
L’état et les détails présentés sur la page de l’alerte reflètent uniquement l’état de l’alerte sur la branche par défaut du référentiel, même si l’alerte existe sur d’autres branches. Vous pouvez consulter l’état de l’alerte sur les branches autres que la branche par défaut dans la section Branches affectées sur le côté droit de la page de l’alerte. Si une alerte n’existe pas sur la branche par défaut, l’état de l’alerte est « dans la demande de tirage » ou « dans la branche », et il est grisé.
Si vous configurez l’code scanning avec CodeQL, vous pouvez également trouver des problèmes de flux de données dans votre code. L’analyse du flux de données détecte les problèmes de sécurité potentiels dans le code, tels que l’utilisation de données non sécurisée, le passage d’arguments dangereux à des fonctions et la fuite d’informations sensibles.
Quand l’code scanning signale des alertes de flux de données, GitHub vous montre comment les données transitent par le code. L’Code scanning vous permet d’identifier les zones de votre code qui laissent échapper des informations sensibles et qui peuvent être le point d’entrée d’attaques par des utilisateurs malveillants.
À propos des niveaux de gravité
Les niveaux de gravité d’alerte peuvent être Error
, Warning
et Note
.
Si l’code scanning est activée en tant que vérification de demande de tirage, la vérification échoue si elle détecte des résultats avec une gravité de error
. Vous pouvez spécifier les niveaux de sévérité des alertes d’analyse de code qui provoquent l’échec de la vérification. Pour plus d’informations, consultez « Personnalisation de l’analyse du code ».
À propos des niveaux de gravité de sécurité
L’Code scanning affiche les niveaux de gravité de sécurité pour les alertes générées par les requêtes de sécurité. Les niveaux de gravité de sécurité peuvent être Critical
, High
, Medium
ou Low
.
Pour calculer la gravité de sécurité d’une alerte, nous utilisons des données CVSS (Common Vulnerability Scoring System). CVSS est un framework ouvert pour la communication des caractéristiques et de la gravité des vulnérabilités logicielles et est couramment utilisé par d’autres produits de sécurité pour évaluer les alertes. Pour plus d’informations sur le calcul des niveaux de gravité, consultez ce billet de blog.
Par défaut, toutes les résultats d’code scanning avec une gravité de sécurité de Critical
ou High
entraînent un échec de vérification. Vous pouvez spécifier le niveau de gravité de sécurité pour les résultats d’code scanning qui doit provoquer un échec de vérification. Pour plus d’informations, consultez « Personnalisation de l’analyse du code ».
À propos des origines d’analyse
Vous pouvez exécuter plusieurs configurations d’analyse de code sur un dépôt, en utilisant différents outils et en ciblant différents langages ou zones du code. Chaque configuration de l’code scanning est l’origine de l’analyse pour toutes les alertes qu’elle génère. Par exemple, une alerte générée à l’aide de l’analyse CodeQL par défaut avec GitHub Actions aura une origine d’analyse différente de celle d’une alerte générée en externe et chargée via l’API code scanning.
Si vous utilisez plusieurs configurations pour analyser un fichier, les problèmes détectés par la même requête sont signalés en tant qu’alertes avec plusieurs origines d’analyse. Si une alerte a plusieurs origines d’analyse, une icône s’affiche en regard de n’importe quelle branche pertinente dans la section Branches affectées sur le côté droit de la page d’alerte. Vous pouvez pointer sur l’icône pour afficher les noms de chaque origine d’analyse et l’état de l’alerte pour cette origine d’analyse. Vous pouvez également afficher l’historique de l’apparition des alertes dans chaque origine d’analyse dans la chronologie de la page d’alerte. Si une alerte n’a qu’une seule origine d’analyse, aucune information sur les origines d’analyse n’est affichée dans la page d’alerte.
Remarque : Parfois, une alerte d’code scanning s’affiche comme corrigée pour une origine d’analyse, mais elle est toujours ouverte pour une deuxième origine d’analyse. Vous pouvez résoudre ce problème en réexécutant la deuxième configuration d’code scanning afin de mettre à jour l’état d’alerte pour cette origine d’analyse.
À propos des étiquettes pour les alertes introuvables dans le code de l’application
GitHub AE affecte une étiquette de catégorie aux alertes introuvables dans le code de l’application. L’étiquette est liée à l’emplacement de l’alerte.
- Généré : code généré par le processus de génération
- Test : code de test
- Bibliothèque : bibliothèque ou code tiers
- Documentation : Documentation
L’Code scanning classe les fichiers par chemin de fichier. Vous ne pouvez pas classer manuellement les fichiers sources.
Dans cet exemple, une alerte est marquée comme étant dans le code « Test » dans la liste d’alertes d’code scanning.
Lorsque vous cliquez pour voir les détails de l’alerte, vous voyez que le chemin du fichier est marqué comme code « Test ».