Skip to main content

Définition de la configuration avancée pour l’analyse du code

Vous pouvez définir la configuration avancée pour qu’un dépôt recherche les failles de sécurité dans votre code à l’aide d’une configuration d’code scanning hautement personnalisable.

Qui peut utiliser cette fonctionnalité ?

People with admin permissions to a repository, or the security manager role for the repository, can configure code scanning for that repository. People with write permissions to a repository can also configure code scanning, but only by creating a workflow file or manually uploading a SARIF file.

Code scanning est disponible pour tous les dépôts publics sur GitHub.com. Code scanning est également disponible pour des dépôts privés appartenant à des organisations qui utilisent GitHub Enterprise Cloud et ont une licence pour GitHub Advanced Security. Pour plus d’informations, consultez « À propos de GitHub Advanced Security ».

À propos de la configuration avancée pour l’code scanning

La configuration avancée pour l’code scanning est utile quand vous avez besoin d’exercer un contrôle plus précis sur la configuration de l’code scanning. En créant et en modifiant un fichier de workflow CodeQL, vous pouvez changer la planification de l’analyse, analyser n’importe quel langage pris en charge par CodeQL, utiliser une build matricielle, etc.

Vous pouvez également configurer l’code scanning avec des outils tiers. Pour plus d’informations, consultez « Configuration de l’code scanning avec des actions tierces ».

Si vous exécutez l’analyse du code à l’aide de plusieurs configurations, la même alerte est parfois générée par plusieurs configurations. Si une alerte provient de plusieurs configurations, vous pouvez afficher l’état de l’alerte pour chaque configuration sur la page des alertes. Pour plus d’informations, consultez « À propos des alertes d’analyse du code ».

Si vous n’avez pas besoin d’une configuration d’code scanning hautement personnalisable, envisagez d’utiliser la configuration par défaut de l’code scanning. Pour plus d’informations sur le droit à la configuration par défaut, consultez « Définition de la configuration par défaut pour l’analyse du code ».

Prérequis

Votre dépôt a droit à la configuration avancée si :

  • Il utilise des langages pris en charge par CodeQL ou vous prévoyez de générer des résultats d’analyse de code avec un outil tiers.
  • GitHub Actions est activé.
  • Il est visible publiquement.

Définition de la configuration avancée pour un dépôt

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, sélectionner les langages à analyser, utiliser une build matricielle, etc.

Définition de la configuration avancée pour l’code scanning avec CodeQL

Vous pouvez personnaliser l’code scanning en créant et en modifiant un fichier de workflow. La sélection de 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 de GitHub Actions ».

Remarque : Vous pouvez configurer l’code scanning pour n’importe quel référentiel public pour lequel vous disposez d’un accès en écriture.

  1. Dans GitHub.com, accédez à la page principale du dépôt.

  2. Sous le nom de votre dépôt, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Paramètres » est mis en évidence avec un encadré orange foncé.

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

  4. Faites défiler jusqu’à 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, 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 » des paramètres « Sécurité et analyse du code ». Le bouton « Configuration avancée » est mis en évidence à l’aide d’un rectangle orange.

  5. 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 Workflow d’analyse CodeQL 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 votre configuration avancée pour l’analyse du code » et « Analyse du code CodeQL pour les langages compilés ».

  6. Cliquez sur Commiter les changements... pour afficher le formulaire de commit des changements.

    Capture d’écran du formulaire pour créer un nouveau fichier. À droite du nom du fichier, un bouton vert intitulé « Commiter les changements... » est encadré en orange foncé.

  7. Dans le champ de message de commit, tapez un message de commit.

  8. Indiquez si vous voulez commiter directement dans la branche par défaut ou créer une branche et démarrer une demande de tirage (pull request).

  9. Cliquez sur Commiter le nouveau fichier pour commiter le fichier de workflow dans la branche par défaut ou sur Proposer un nouveau fichier pour commiter le fichier dans une nouvelle branche.

  10. Si vous avez créé une branche, cliquez sur Créer une demande de tirage et ouvrez une demande de tirage pour fusionner votre changement dans la branche par défaut.

Dans le Workflow d’analyse CodeQL 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 votre configuration avancée pour l’analyse du code ».

Pour plus d’informations sur l’activation en bloc, consultez « Définition de la configuration avancée pour l’analyse du code avec CodeQL à grande échelle ».

Configuration de l’code scanning avec des actions tierces

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 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.

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 de GitHub Actions ».

  1. Dans GitHub.com, accédez à la page principale du dépôt.

  2. Sous le nom de votre dépôt, cliquez sur Actions.

    Capture d’écran des onglets du référentiel « github/docs ». L’onglet « Actions » est mis en surbrillance avec un encadré orange.

  3. Si au moins un workflow est déjà configuré et en cours d’exécution pour le dépôt, cliquez sur Nouveau workflow pour afficher les workflows de démarrage. Si aucun workflow n’est configuré pour le dépôt, passez à l’étape suivante.

    Capture d’écran de l’onglet Actions d’un dépôt. Le bouton « Nouveau workflow » est indiqué en orange foncé.

  4. Dans la vue « Choisir un workflow » ou « Bien démarrer avec GitHub Actions », faites défiler jusqu’à la catégorie « Sécurité » et cliquez sur Configurer sous le workflow que vous souhaitez configurer. Vous devrez peut-être cliquer sur Tout afficher pour rechercher le workflow de sécurité que vous souhaitez configurer.

    Capture d’écran de la catégorie Sécurité des workflows de démarrage. Le bouton Configurer et le lien « Tout afficher » sont mis en évidence à l’aide d’un rectangle orange.

  5. Suivez les instructions fournies dans le workflow pour le personnaliser selon vos besoins. Pour obtenir une aide plus générale sur les workflows, cliquez sur Documentation dans le volet droit de la page du workflow.

    Capture d’écran montrant un fichier de workflow de démarrage ouvert pour modification. Le bouton « Documentation » est mis en évidence à l’aide d’un rectangle orange.

    Pour plus d’informations, consultez « Utilisation de workflows de démarrage » et « Personnalisation de votre configuration avancée pour l’analyse du code ».

Étapes suivantes

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