Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Gestion des alertes d’analyse du code pour votre référentiel

À partir de la vue de sécurité, vous pouvez afficher, corriger ou ignorer des alertes concernant les vulnérabilités ou erreurs potentielles dans le code de votre projet.

Who can use this feature

If you have write permission to a repository you can manage code scanning alerts for that repository.

Code scanning est disponible pour les dépôts appartenant à l’organisation dans GitHub Enterprise Server. Cette fonctionnalité nécessite une licence pour GitHub Advanced Security. Pour plus d’informations, consultez « À propos de GitHub Advanced Security ».

Affichage des alertes pour un dépôt

Toute personne disposant d’une autorisation de lecture pour un dépôt peut voir les annotations d’code scanning sur les demandes de tirage (pull request). Pour plus d’informations, consultez « Triage des alertes d’code scanning dans les demandes de tirage ».

Vous avez besoin d’une autorisation d’écriture pour voir un récapitulatif de toutes les alertes d’un dépôt sous l’onglet Sécurité.

Par défaut, la page des alertes d’analyse du code est filtrée pour montrer uniquement les alertes liées à la branche par défaut du dépôt.

  1. Dans your GitHub Enterprise Server instance, accédez à la page principale du dépôt. 1. Sous le nom du dépôt, cliquez sur Sécurité. Onglet Sécurité 1. Sur la barre latérale gauche, cliquez sur Alertes d’analyse du code. Onglet « Alertes d’analyse du code »

  2. Si vous le souhaitez, utilisez la zone de recherche en texte libre ou les menus déroulants pour filtrer les alertes. Par exemple, vous pouvez filtrer en fonction de l’outil utilisé pour identifier les alertes. Filtrer par outil 1. Sous « Code scanning », cliquez sur l’alerte à explorer. Résumé des alertes

    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é. Section « Branches affectées » dans une alerte

  3. Si l’alerte met en évidence un problème avec le flux de données, vous pouvez cliquer sur Afficher les chemins pour afficher le chemin depuis la source de données vers le récepteur où il est utilisé. Lien « Afficher les chemins » dans une alerte

  4. Les alertes de l’analyse CodeQL incluent une description du problème. Cliquez sur Afficher plus pour obtenir des conseils sur la façon de corriger votre code. Détails relatifs à une alerte

Pour plus d’informations, consultez « À propos des alertes d’code scanning ».

Remarque : Pour l’code scanning avec CodeQL, vous pouvez voir des informations sur la dernière exécution dans un en-tête en haut de la liste des alertes d’code scanning pour le dépôt.

Par exemple, vous pouvez voir quand la dernière analyse a été exécutée, le nombre de lignes de code analysées par rapport au nombre total de lignes de code dans votre dépôt et le nombre total d’alertes générées. Bannière de l’interface utilisateur

Filtrage des alertes d’code scanning

Vous pouvez filtrer les alertes affichées dans la vue des alertes d’code scanning. Cela est utile s’il existe de nombreuses alertes, car vous pouvez vous concentrer sur un type particulier d’alerte. Vous disposez de filtres prédéfinis et d’un éventail de mots clés pour affiner la liste des alertes affichées.

  • Pour utiliser un filtre prédéfini, cliquez sur un filtre affiché dans l’en-tête de la liste des alertes ou sur Filtres, puis choisissez un filtre dans la liste déroulante. Filtres prédéfinis
  • Pour utiliser un mot clé, tapez directement dans la zone de texte Filtres ou :
    1. Cliquez dans la zone de texte Filtres pour afficher la liste de tous les mots clés de filtre disponibles.
    2. Cliquez sur le mot clé que vous souhaitez utiliser, puis choisissez une valeur dans la liste déroulante. Liste des filtres de mots clés

L’avantage d’utiliser des filtres de mots clés est que seules les valeurs ayant des résultats sont affichées dans les listes déroulantes. Vous évitez ainsi de définir des filtres qui ne trouvent aucun résultat.

Si vous entrez plusieurs filtres, l’affichage montre les alertes correspondant à tous ces filtres. Par exemple, is:closed severity:high branch:main affiche uniquement les alertes de gravité élevée fermées qui sont présentes sur la branche main. L’exception concerne les filtres relatifs aux références (ref, branch et pr) : is:open branch:main branch:next vous montre les alertes ouvertes à la fois sur la branche main et sur la branche next.

Veuillez noter que si vous avez filtré les alertes sur une branche autre que celle par défaut, mais que les mêmes alertes existent sur la branche par défaut, la page d’une alerte donnée reflétera uniquement l’état de l’alerte sur la branche par défaut, même si cet état est en conflit avec celui d’une branche autre que celle par défaut. Par exemple, une alerte qui apparaît dans la liste « Ouvertes » dans le résumé des alertes de la branch-x peut présenter l’état « Résolue » sur la page de l’alerte, si l’alerte est déjà résolue sur la branche par défaut. Vous pouvez consulter l’état de l’alerte pour la branche filtrée dans la section Branches affectées sur le côté droit de la page de l’alerte.

Vous pouvez préfixer le filtre tag avec - pour exclure les résultats ayant cette étiquette. Par exemple, -tag:style montre uniquement les alertes qui n’ont pas l’étiquette style.

Restriction des résultats au code d’application uniquement

Vous pouvez utiliser le filtre « Uniquement les alertes dans le code d’application » ou la paire mot clé/valeur autofilter:true pour restreindre les résultats aux alertes dans le code d’application. Consultez « À propos des étiquettes pour les alertes qui ne se trouvent pas dans le code d’application » ci-dessus pour plus d’informations sur les types de code qui ne sont pas du code d’application.

Exploration des alertes d’code scanning

Vous pouvez explorer la liste des alertes. Cela est utile s’il existe un grand nombre d’alertes dans votre dépôt ou si vous ne connaissez pas le nom exact d’une alerte, par exemple. GitHub Enterprise Server effectue la recherche en texte libre dans les éléments suivants :

  • Nom de l'alerte
  • Détails de l’alerte (ce qui inclut également les informations masquées par défaut dans la section réductible Afficher plus) Informations d’alerte utilisées dans les recherches
Recherche prise en chargeExemple de syntaxeRésultats
Recherche avec un seul motinjectionRetourne toutes les alertes contenant le mot injection
Recherche avec plusieurs motssql injectionRetourne toutes les alertes contenant sql ou injection
Recherche de correspondance exacte
(utilisez des guillemets doubles)
"sql injection"Retourne toutes les alertes contenant l’expression exacte sql injection
Recherche OUsql OR injectionRetourne toutes les alertes contenant sql ou injection
Recherche ETsql AND injectionRetourne toutes les alertes contenant à la fois les mots sql et injection

Conseils :

  • La recherche avec sur plusieurs mots équivaut à une recherche OU.
  • La recherche ET retourne des résultats dans lesquels les termes de recherche se trouvent n’importe où, dans n’importe quel ordre dans le nom ou les détails de l’alerte.
  1. Dans your GitHub Enterprise Server instance, accédez à la page principale du dépôt. 1. Sous le nom du dépôt, cliquez sur Sécurité. Onglet Sécurité 1. Sur la barre latérale gauche, cliquez sur Alertes d’analyse du code. Onglet « Alertes d’analyse du code »
  2. À droite des menus déroulants Filtres, tapez les mots clés à rechercher dans la zone de recherche en texte libre. Zone de recherche en texte libre
  3. Appuyez sur Entrée. La liste des alertes contient les alertes d’code scanning ouvertes correspondant à vos critères de recherche.

Correction d’une alerte

Toute personne disposant d’une autorisation d’écriture pour un dépôt peut corriger une alerte en commitant une correction dans le code. Si le dépôt a une code scanning planifiée pour s’exécuter sur les demandes de tirage (pull request), il est préférable de déclencher une demande de tirage avec votre correction. Cela déclenche une code scanning des modifications et vérifie que votre correctif n’introduit aucun nouveau problème. Pour plus d’informations, consultez « Personnalisation de l’code scanning » et « Triage des alertes d’code scanning dans les demandes de tirage ».

Si vous disposez d’une autorisation d’écriture pour un dépôt, vous pouvez voir les alertes corrigées en affichant le récapitulatif des alertes et en cliquant sur Fermées. Pour plus d’informations, consultez « Affichage des alertes pour un dépôt ». La liste « Fermées » affiche les alertes corrigées et les alertes que les utilisateurs ont ignorées.

Vous pouvez utiliser la recherche en texte libre ou les filtres pour afficher un sous-ensemble d’alertes, puis marquer toutes les alertes correspondantes comme fermées.

Les alertes peuvent être corrigées dans une branche, mais pas dans une autre. Vous pouvez utiliser le filtre « Branche », dans le récapitulatif des alertes, pour vérifier si une alerte est corrigée dans une branche particulière.

Filtrage des alertes par branche

Veuillez noter que si vous avez filtré les alertes sur une branche autre que celle par défaut, mais que les mêmes alertes existent sur la branche par défaut, la page d’une alerte donnée reflétera uniquement l’état de l’alerte sur la branche par défaut, même si cet état est en conflit avec celui d’une branche autre que celle par défaut. Par exemple, une alerte qui apparaît dans la liste « Ouvertes » dans le résumé des alertes de la branch-x peut présenter l’état « Résolue » sur la page de l’alerte, si l’alerte est déjà résolue sur la branche par défaut. Vous pouvez consulter l’état de l’alerte pour la branche filtrée dans la section Branches affectées sur le côté droit de la page de l’alerte.

Remarque : Si vous exécutez l’analyse du code en utilisant plusieurs configurations, une alerte a parfois plusieurs origines d’analyse. Sauf si vous exécutez régulièrement toutes les configurations, vous pouvez voir des alertes qui sont corrigées dans une origine d’analyse, mais pas dans une autre. Pour plus d’informations, consultez « À propos des origines d’analyse ».

## Ignorer les alertes

Il existe deux façons de fermer une alerte. Vous pouvez résoudre le problème dans le code ou ignorer l’alerte.

Le rejet d'une alerte est un moyen de fermer une alerte qui, selon vous, ne doit pas être corrigée. Par exemple, dans le cas d’une erreur présente dans du code utilisé uniquement à des fins de test, ou quand l’effort de correction de l’erreur est supérieur à l’avantage potentiel que représente l’amélioration du code. Vous pouvez ignorer des alertes à partir des annotations d’code scanning dans le code ou de la liste récapitulative sous l’onglet Sécurité.

Quand vous ignorez une alerte :

  • Elle est ignorée dans toutes les branches.
  • L’alerte est supprimée du nombre d’alertes actuel pour votre projet.
  • L’alerte est déplacée vers la liste « Fermées » dans le récapitulatif des alertes. Vous pouvez la rouvrir depuis cet endroit, si nécessaire.
  • La raison pour laquelle vous avez fermé l’alerte est enregistrée.
  • Si vous le souhaitez, vous pouvez commenter un rejet pour enregistrer le contexte du rejet d’une alerte.
  • La prochaine fois que l’code scanning s’exécute, le même code ne génère pas d’alerte.

Pour ignorer les alertes :

  1. Dans your GitHub Enterprise Server instance, accédez à la page principale du dépôt. 1. Sous le nom du dépôt, cliquez sur Sécurité. Onglet Sécurité 1. Sur la barre latérale gauche, cliquez sur Alertes d’analyse du code. Onglet « Alertes d’analyse du code »

  2. Si vous souhaitez ignorer une alerte, il est important d’explorer l’alerte en premier, afin que vous puissiez choisir la bonne raison de l’ignorer. Cliquez sur l’alerte que vous voulez explorer. Ouvrez une alerte à partir de la liste récapitulative

  3. Passez en revue l’alerte, puis cliquez sur Ignorer l’alerte et choisissez, ou entrez, une raison de fermer l’alerte. Capture d’écran d’une alerte d’analyse de code avec une liste déroulante pour choisir la raison du rejet mise en évidence Il est important de choisir le motif approprié dans le menu déroulant, car cela peut avoir une incidence sur l’inclusion ou non d’une requête dans une analyse future. Si vous le souhaitez, vous pouvez commenter un licenciement pour enregistrer le contexte d’un licenciement d’alerte. Le commentaire sur le licenciement est ajouté à la chronologie des alertes et peut être utilisé comme justification lors de l’audit et de la création de rapports. Vous pouvez récupérer ou définir un commentaire à l’aide de l’API REST d’analyse du code. Le commentaire est contenu dans dismissed_comment pour le point de terminaison alerts/{alert_number}. Pour plus d’informations, consultez « Analyse du code ».

    Si vous ignorez une alerte CodeQL que vous considérez comme un résultat faux positif, par exemple parce que le code utilise une bibliothèque d’assainissement qui n’est pas prise en charge, envisagez de contribuer au dépôt CodeQL et d’améliorer l’analyse. Pour plus d’informations sur CodeQL, consultez « Contribution à CodeQL ».

Ignorer plusieurs alertes à la fois

Si un projet a plusieurs alertes que vous souhaitez ignorer pour la même raison, vous pouvez les ignorer en bloc à partir du récapitulatif des alertes. En règle générale, vous souhaitez filtrer la liste, puis ignorer toutes les alertes correspondantes. Par exemple, vous souhaiterez peut-être ignorer toutes les alertes actuelles dans le projet qui ont été marquées pour une vulnérabilité CWE (Common Weakness Enumeration) particulière.

Pour aller plus loin