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.

Cette version de GitHub Enterprise a été abandonnée le 2023-01-18. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

Triage des alertes d’analyse du code dans les demandes de tirage (pull request)

Quand l’code scanning identifie un problème dans une demande de tirage, vous pouvez passer en revue le code mis en surbrillance et résoudre l’alerte.

Who can use this feature

If you have read permission for a repository, you can see annotations on pull requests. With write permission, you can see detailed information and resolve 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 ».

À propos des résultats d’code scanning sur les demandes de tirage

Dans les dépôts où l’code scanning est configurée en tant que vérification de demande de tirage, l’code scanning vérifie le code dans la demande de tirage. Par défaut, cela est limité aux demandes de tirage qui ciblent la branche par défaut, mais vous pouvez changer cette configuration dans GitHub Actions ou dans un système CI/CD tiers. Si la fusion des modifications introduit de nouvelles alertes d’code scanning dans la branche cible, celles-ci sont signalées à plusieurs endroits.

  • Vérifier les résultats dans l’
  • L’onglet Fichiers modifiés de la demande de tirage

Si vous disposez d’une autorisation d’écriture pour le dépôt, vous pouvez voir les alertes d’code scanning existantes sous l’onglet Sécurité. Pour plus d’informations sur les alertes de dépôt, consultez « Gestion des alertes d’code scanning pour votre dépôt ».

Dans les dépôts où l’code scanning est configurée pour effectuer une analyse chaque fois que du code est poussé, l’code scanning mappe également les résultats aux demandes de tirage ouvertes et ajoute les alertes sous forme d’annotations dans les mêmes emplacements que les autres vérifications de demande de tirage. Pour plus d’informations, consultez « Personnalisation de l’code scanning ».

Si votre demande de tirage cible une branche protégée qui utilise l’code scanning et que le propriétaire du dépôt a configuré les vérifications d’état requises, la vérification « Résultats de l’Code scanning » doit réussir pour que vous puissiez fusionner la demande de tirage. Pour plus d’informations, consultez « À propos des branches protégées ».

À propos de l’code scanning en tant que vérification de demande de tirage

Comme il existe de nombreuses options pour configurer l’code scanning en tant que vérification de demande de tirage, la nature des vérifications et leur nombre peuvent varier d’un référentiel à l’autre.

Vérification des résultats d’Code scanning

Pour toutes les configurations d’code scanning, la vérification qui contient les résultats d’code scanning est : Résultats d’Code scanning . Les résultats de chaque outil d’analyse utilisé sont affichés séparément. Toutes les nouvelles alertes provoquées par les modifications apportées à la demande de tirage sont affichées sous forme d’annotations.

Pour voir l’ensemble complet des alertes de la branche analysée, cliquez sur Voir toutes les alertes de branche. Cette action ouvre l’affichage complet des alertes, dans lequel vous pouvez filtrer toutes les alertes sur la branche par type, gravité, étiquette, etc. Pour plus d’informations, consultez « Gestion des alertes d’analyse du code pour votre dépôt ».

Vérification des résultats de l’Code scanning sur une demande de tirage

Échecs de la vérification des résultats d’Code scanning

Si la vérification des résultats d’code scanning détecte des problèmes de gravité de type error, critical ou high, la vérification échoue et l’erreur est signalée dans les résultats de la vérification. Si tous les résultats trouvés par l’code scanning ont des gravités inférieures, les alertes sont traitées comme des avertissements ou des remarques et la vérification réussit.

Échec de la vérification d’code scanning sur une demande de tirage

Vous pouvez remplacer le comportement par défaut dans les paramètres de votre référentiel, en spécifiant le niveau des gravités et les gravités de sécurité qui provoqueront l’échec de la vérification d’une demande de tirage. Pour plus d’informations, consultez « Personnalisation de l’code scanning ».

Autres vérifications d’code scanning

Selon votre configuration, vous pouvez voir des vérifications supplémentaires qui s’exécutent sur les demandes de tirage quand l’code scanning est configurée. Il s’agit généralement de workflows qui analysent le code ou qui chargent les résultats d’code scanning. Ces vérifications sont utiles pour résoudre les problèmes liés à l’analyse.

Par exemple, si le dépôt utilise le CodeQL analysis workflow, une vérification CodeQL / Analyser (LANGAGE) est exécutée pour chaque langage avant l’exécution de la vérification des résultats. La vérification de l’analyse peut échouer en cas de problèmes de configuration ou si la demande de tirage interrompt la génération pour un langage dont l’analyse a besoin pour la compilation (par exemple, C/C++, C# ou Java).

Comme avec les autres vérifications de demande de tirage, vous pouvez voir les détails complets de l’échec de la vérification sous l’onglet Vérifications. Pour plus d’informations sur la configuration et la résolution des problèmes, consultez « Personnalisation de l’code scanning » ou « Résolution des problèmes liés au workflow CodeQL ».

Affichage d’une alerte sur votre demande de tirage

Vous pouvez voir toutes les alertes d’code scanning introduites dans une demande de tirage en affichant l’onglet Fichiers modifiés. Chaque alerte s’affiche sous la forme d’une annotation sur les lignes de code qui ont déclenché l’alerte. La gravité de l’alerte s’affiche dans l’annotation.

Annotation d’alerte dans une différence de demande de tirage

Si vous disposez d’une autorisation d’écriture pour le dépôt, certaines annotations contiennent des liens avec un contexte supplémentaire pour l’alerte. Dans l’exemple ci-dessus, à partir de l’analyse CodeQL, vous pouvez cliquer sur valeur fournie par l’utilisateur pour voir où les données non approuvées entrent dans le flux de données (la source). Dans ce cas, vous pouvez également afficher le chemin complet depuis la source vers le code qui utilise les données (le récepteur) en cliquant sur Afficher les chemins. Cela permet de vérifier facilement si les données ne sont pas approuvées ou si l’analyse n’a pas pu reconnaître une étape d’assainissement des données entre la source et le récepteur. Pour plus d’informations sur l’analyse du flux de données avec CodeQL, consultez « À propos de l’analyse du flux de données ».

Pour plus d’informations sur une alerte, les utilisateurs disposant d’une autorisation d’écriture peuvent cliquer sur le lien Afficher plus de détails affiché dans l’annotation. Cela vous permet de voir tout le contexte et les métadonnées fournis par l’outil dans un affichage d’alerte. Dans l’exemple ci-dessous, vous pouvez voir les étiquettes montrant la gravité, le type et les énumérations des faiblesses courantes pertinentes pour le problème. L’affichage montre également quel commit a introduit le problème.

Dans l’affichage détaillé d’une alerte, certains outils d’code scanning , tels que l’analyse CodeQL, incluent également une description du problème et un lien Afficher plus qui vous permet d’obtenir des conseils sur la résolution de votre code.

Description de l’alerte et lien pour montrer plus d’informations

Résolution d’une alerte sur votre demande de tirage

Toute personne disposant d’un accès en poussée à une demande de tirage peut résoudre une alerte d’code scanning identifiée sur cette demande de tirage. Si vous commitez des modifications apportées à la demande de tirage, une nouvelle exécution des vérifications de la demande de tirage est déclenchée. Si vos modifications résolvent le problème, l’alerte est fermée et l’annotation supprimée.

Ignorer une alerte sur votre demande de tirage

Une autre façon de fermer une alerte consiste à l’ignorer. Vous pouvez ignorer une alerte si vous ne pensez pas qu’elle doit être résolue. 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. Si vous disposez d’une autorisation d’écriture pour le dépôt, le bouton Ignorer est disponible dans les annotations de code et dans le résumé des alertes. Quand vous cliquez sur Ignorer, vous êtes invité à choisir une raison de fermer l’alerte. Choix de la raison du rejet d’une alerte 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 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 ».

Pour plus d’informations sur l’abandon d’alertes, consultez « Gestion des alertes d’code scanning pour votre dépôt ».