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.

Configuration de l’analyse du code pour un référentiel

Vous pouvez configurer l’code scanning pour un référentiel afin de trouver les failles de sécurité présentes dans votre code.

Who can use this feature

If you have write permissions to a repository, you can configure code scanning for that repository.

Code scanning est disponible pour tous les dépôts publics sur GitHub.com. Pour utiliser code scanning dans un dépôt privé appartenant à une organisation, vous devez avoir une licence pour GitHub Advanced Security. Pour plus d’informations, consultez « À propos de GitHub Advanced Security ».

Options pour la configuration de l’code scanning

Vous décidez comment générer les alertes d’code scanning et quels outils utiliser, au niveau d’un dépôt. GitHub Enterprise Cloud fournit une prise en charge entièrement intégrée de l’analyse CodeQL et prend également en charge l’analyse avec des outils tiers. Pour plus d’informations, consultez les points suivants et « À propos de l’code scanning ».

Configuration de l’code scanning automatiquement

La configuration par défaut de l’code scanning configure automatiquement l’code scanning avec les meilleurs paramètres pour votre référentiel. Votre référentiel est éligible pour la configuration par défaut s’il utilise GitHub Actions et s’il contient uniquement les langages suivants pris en charge par CodeQL : JavaScript/TypeScript, Python ou Ruby. Bien que vous puissiez utiliser la configuration par défaut si votre référentiel comprend des langages qui ne sont pas pris en charge par CodeQL, par exemple le langage R, vous devez utiliser la configuration avancée si vous incluez d’autres langages pris en charge par CodeQL que ceux listés ci-dessus. Pour plus d’informations sur les langages pris en charge par CodeQL, consultez « À propos de l’code scanning avec CodeQL ».

L’activation de la configuration par défaut est le moyen le plus rapide de configurer l’code scanning pour votre référentiel. De plus, la configuration par défaut ne nécessite aucune des opérations de maintenance nécessaires à un fichier de workflow CodeQL. Avant d’activer la configuration par défaut, vous pouvez voir les langages qu’elle analyse, les suites de requêtes qu’elle exécute et les événements qui déclenchent une nouvelle analyse.

Essayez la configuration par défaut si vous n’avez pas besoin d’exécuter de requêtes supplémentaires, de changer la planification de l’analyse ou d’analyser un langage non pris en charge par la configuration par défaut.

  1. Dans GitHub.com, accédez à la page principale du dépôt. 1. Sous le nom de votre dépôt, cliquez sur Paramètres. Bouton Paramètres du dépôt

  2. Dans la section « Sécurité » de la barre latérale, cliquez sur Sécurité et analyse du code.

  3. Dans la section « Code scanning », sélectionnez Configuration , puis cliquez sur Par défaut.

    Capture d’écran de la section « Code scanning » avec mise en évidence de l’option de configuration « Par défaut »

  4. Dans la fenêtre de configuration par défaut de CodeQL qui s’affiche, passez en revue les paramètres de votre référentiel, puis cliquez sur Activer CodeQL .

    Capture d’écran de la fenêtre indépendante « Configuration par défaut de CodeQL » avec mise en évidence du bouton « Activer CodeQL »

    Remarques :

    • La fenêtre Configuration par défaut de CodeQL affiche les détails de la configuration par défaut, notamment les langages à analyser, les suites de requêtes à exécuter et les événements qui déclenchent une nouvelle analyse. Si vous souhaitez changer les suites de requêtes à exécuter, les événements qui déclenchent une nouvelle analyse ou d’autres fonctionnalités de l’code scanning, vous devez utiliser la configuration avancée. Pour plus d’informations, consultez « Création d’une configuration avancée ».
    • Si vous passez de la configuration avancée à la configuration par défaut, un avertissement s’affiche pour vous informer que la configuration par défaut va remplacer les configurations existantes. Une fois que vous avez activé CodeQL, veillez à supprimer ou désactiver votre fichier de workflow existant. Sinon, le workflow continue de s’exécuter régulièrement sans charger de résultats de l’code scanning, en utilisant vos minutes GitHub Actions.
    • Si vous souhaitez voir votre configuration par défaut de CodeQL une fois la configuration effectuée, sélectionnez , puis cliquez sur Voir la configuration de CodeQL .

Création d’une configuration avancée

La configuration avancée de l’code scanning est utile quand vous devez personnaliser votre code scanning. En créant et en modifiant un fichier de workflow, vous pouvez choisir les requêtes à exécuter, changer la planification de l’analyse, analyser les langages pris en charge par CodeQL, utiliser une build matricielle, etc.

Configuration de l’code scanning en utilisant des workflows de démarrage

Remarque : Les workflows de démarrage pour Advanced Security ont été regroupés dans une catégorie « Sécurité » sous l’onglet Actions d’un dépôt. Cette nouvelle configuration est actuellement en version bêta et susceptible d’être modifiée.

GitHub Enterprise Cloud fournit des workflows de démarrage pour les fonctionnalités de sécurité comme l’code scanning. Vous pouvez utiliser ces workflows suggérés pour construire vos workflows d’code scanning au lieu de commencer à partir de zéro. Les workflows de démarrage de l’Code scanning ne sont disponibles pour votre dépôt que si l’code scanning est activée.

L’utilisation d’actions pour exécuter l’code scanning repose sur le comptage des minutes. Pour plus d’informations, consultez « À propos de la facturation pour GitHub Actions ».

  1. Dans GitHub.com, accédez à la page principale du dépôt. 1. Sous le nom de votre référentiel, cliquez sur Actions. Onglet Actions dans le volet de navigation du dépôt principal
  2. Si au moins un workflow est déjà configuré pour le référentiel et qu’il est en cours d’exécution, cliquez sur Nouveau workflow et passez à l’étape 5. Si aucun workflow n’est configuré pour le dépôt, passez à l’étape suivante. Capture d’écran du bouton Nouveau workflow
  3. Faites défiler jusqu’à la catégorie « Sécurité », puis cliquez sur Configurer sous le workflow que vous souhaitez configurer, ou cliquez sur Afficher tout pour afficher tous les workflows de sécurité disponibles. Capture d’écran de la section Sécurité (Actions > Workflows)
  4. Dans le volet droit de la page du workflow, cliquez sur Documentation et suivez les instructions à l’écran pour adapter le workflow à vos besoins. Capture d’écran de l’onglet Documentation pour les workflows de démarrage Pour plus d’informations, consultez « Utilisation des workflows de démarrage » et « Personnalisation de l’code scanning ».

Configuration de l’code scanning manuellement

Vous pouvez personnaliser l’code scanning en créant et en modifiant un fichier de workflow. La configuration avancée génère un fichier de workflow de base que vous pouvez personnaliser.

L’utilisation d’actions pour exécuter l’code scanning repose sur le comptage des minutes. Pour plus d’informations, consultez « À propos de la facturation pour GitHub Actions ».

  1. Dans GitHub.com, accédez à la page principale du dépôt. 1. Sous le nom de votre dépôt, cliquez sur Paramètres. Bouton Paramètres du dépôt

  2. Dans la section « Sécurité » de la barre latérale, cliquez sur Sécurité et analyse du code.

  3. Dans la section « Code scanning », sélectionnez Configuration , puis cliquez sur Avancé.

    Remarque : Si vous passez de la configuration par défaut à la configuration avancée de l’code scanning, dans la section « Code scanning », sélectionnez , puis cliquez sur Passer au mode avancé. Dans la fenêtre indépendante qui s’affiche, cliquez sur Désactiver CodeQL .

    Capture d’écran de la section « Code scanning » avec mise en évidence de l’option de configuration « Avancé »

  4. Pour personnaliser la façon dont l’code scanning analyse votre code, modifiez le workflow.

    En règle générale, vous pouvez commiter le CodeQL analysis workflow sans apporter aucun changement à celui-ci. Toutefois, de nombreux workflows tiers nécessitent une configuration supplémentaire. Lisez donc les commentaires dans le workflow avant de commiter.

    Pour plus d’informations, consultez « Personnalisation de l’code scanning ».

  5. Sélectionnez la liste déroulante Commencer le commit, puis tapez un message de commit. Commencer le commit

  6. Indiquez si vous souhaitez valider directement la branche par défaut ou créer une nouvelle branche et démarrer une requête de tirage (pull request). Choisir où effectuer le commit

  7. Cliquez sur Valider le nouveau fichier ou Proposer un nouveau fichier.

Dans le CodeQL analysis workflow suggéré, l’code scanning est configurée pour analyser votre code chaque fois que vous poussez un changement vers la branche par défaut ou des branches protégées, ou que vous déclenchez une demande de tirage (pull request) sur la branche par défaut. En conséquence, l’code scanning commence.

Les déclencheurs on:pull_request et on:push pour l’analyse du code sont chacun utiles à des fins différentes. Pour plus d’informations, consultez « Personnalisation de l’code scanning ».

Configuration en bloc de l’code scanning

Vous pouvez configurer l’code scanning dans de nombreux référentiels à la fois avec un script. Si vous souhaitez utiliser un script pour déclencher des demandes de tirage qui ajoutent un workflow GitHub Actions à plusieurs dépôts, consultez le dépôt jhutchings1/Create-ActionsPRs, pour obtenir un exemple utilisant PowerShell, ou nickliffen/ghas-enablement, pour les équipes qui n’ont pas PowerShell et qui souhaitent utiliser NodeJS.

Affichage de la sortie de journalisation de l’code scanning

Après avoir configuré l’code scanning pour votre référentiel, vous pouvez regarder la sortie des actions à mesure qu’elles s’exécutent.

  1. Sous le nom de votre référentiel, cliquez sur Actions. Onglet Actions dans le volet de navigation du dépôt principal

    La liste qui apparaît inclut une entrée pour l’exécution du workflow d’code scanning. Le texte de l’entrée est le titre que vous avez donné à votre message de commit.

    Liste d’actions montrant le workflow d’code scanning

  2. Cliquez sur l’entrée du workflow d’code scanning.

  3. Cliquez sur le nom du travail sur la gauche. Par exemple, Analyser (LANGAGE) .

    Sortie du journal du workflow d’code scanning

  4. Passez en revue la sortie de la journalisation des actions de ce workflow à mesure qu’elles s’exécutent.

  5. Une fois tous les travaux terminés, vous pouvez afficher les détails de toutes les alertes de l’code scanning qui ont été identifiées. Pour plus d’informations, consultez « Gestion des alertes d’code scanning pour votre dépôt ».

Remarque : Si vous avez déclenché une demande de tirage (pull request) pour ajouter le workflow d’code scanning au dépôt, les alertes de cette demande de tirage ne s’affichent directement dans la page Code scanning qu’une fois la demande de tirage fusionnée. Si des alertes ont été trouvées, vous pouvez les voir, avant la fusion de la demande de tirage, en cliquant sur le lien NUMBER alertes trouvées dans la bannière de la page d’Code scanning.

Cliquez sur le lien « n alertes trouvées »

Présentation des vérifications des demandes de tirage

Pour chaque workflow d’code scanning configuré pour s’exécuter sur les demandes de tirage, il existe toujours au moins deux entrées dans la section des vérifications d’une demande de tirage. Il existe une entrée pour chacun des travaux d’analyse dans le workflow et une entrée finale pour les résultats de l’analyse.

Les noms des vérifications d’code scanning ont la forme suivante : « NOM DE L’OUTIL / NOM DU TRAVAIL (DÉCLENCHEUR) ». Par exemple, pour CodeQL, l’analyse du code C++ contient l’entrée « CodeQL / Analyser (cpp) (pull_request) ». Vous pouvez cliquer sur Détails sur une entrée d’code scanning pour afficher les données de journalisation. Ainsi, vous pouvez déboguer un problème si le travail d’analyse a échoué. Par exemple, pour l’code scanning des langages compilés, cela peut se produire si l’action ne peut pas générer le code.

Vérifications des demandes de tirage pour l’code scanning

Pendant l’exécution des travaux d’code scanning, GitHub détermine si des alertes ont été ajoutées par la demande de tirage et ajoute l’entrée « Résultats de l’Code scanning / NOM DE L’OUTIL » à la liste des vérifications. Après que l’code scanning a été effectuée au moins une fois, vous pouvez cliquer sur Détails pour afficher les résultats de l’analyse.

Étapes suivantes

Après avoir configuré l’code scanning et autorisé ses actions, vous pouvez :