Analyse du code et CodeQL

Effectué

Selon l’outil que vous voulez utiliser pour l’analyse et la façon dont vous souhaitez générer des alertes, il existe différentes options pour configurer une analyse de code dans votre référentiel. Les trois principales méthodes sont les suivantes :

  • Utilisez la configuration par défaut pour configurer rapidement l’analyse CodeQL pour l’analyse de code dans votre référentiel. La configuration par défaut choisit automatiquement les langages à analyser, la suite de requêtes à exécuter et les événements qui déclenchent les analyses. Si vous préférez, vous pouvez sélectionner manuellement la suite de requêtes à exécuter et les langues à analyser. Après avoir activé CodeQL, GitHub Actions exécute des exécutions de flux de travail pour analyser votre code. Pour plus d’informations, consultez « Paramétrage de la configuration par défaut pour l’analyse de code ».
  • Utilisez la configuration avancée pour ajouter le workflow CodeQL directement à votre référentiel. Cela génère un fichier de flux de travail personnalisable qui utilise github/codeql-action pour exécuter la CLI CodeQL. Pour plus d’informations, consultez « Paramétrage de la configuration avancée pour l’analyse de code ».
  • Exécutez l’interface CLI CodeQL directement dans un système d’intégration externe et chargez les résultats dans GitHub. Pour plus d’informations, consultez « Utilisation de l’analyse de code avec votre système CI existant ».[2]

Précédemment, nous avons découvert comment prendre en main la configuration et les paramétrages par défaut. À présent, vous allez apprendre à configurer l’analyse du code avec la configuration avancée, ainsi qu’à effectuer une configuration en bloc d’un flux de travail d’analyse de code pour plusieurs référentiels.

Analyse du code avec GitHub Actions et CodeQL

Pour configurer l’analyse de code avec la configuration avancée, procédez comme suit :

  1. Accédez à l’onglet Paramètres de votre référentiel.
  2. Dans le volet de gauche, accédez à Sécurité et analyse du code, cliquez sur la liste déroulante Configuration, puis sélectionnez Avancée. Il se peut que vous deviez activer GitHub Advanced Security avant d’activer l’analyse de code.
  3. Vous êtes redirigé vers une nouvelle page avec un fichier de flux de travail généré. Ce fichier est nommé codeql.yml par défaut. C’est un fichier de flux de travail configurable qui doit être validé dans votre référentiel afin de commencer à exécuter l’analyse de code.
  4. Pour personnaliser la manière dont l’analyse du code analyse votre code, modifiez le workflow. En règle générale, vous pouvez valider le workflow d’analyse CodeQL sans y apporter de modifications.
  5. Utilisez le bouton Valider les modifications... dans le coin supérieur droit et tapez un message de validation dans la zone contextuelle.
  6. Indiquez si vous voulez valider directement dans la branche par défaut ou créer une branche et démarrer une demande de tirage (pull request).
  7. Cliquez sur Valider les changements.

Dans le workflow d’analyse CodeQL par défaut, l’analyse du code est configurée pour analyser votre code chaque fois que vous envoyez une modification à la branche par défaut ou à des branches protégées, ou lorsque vous déclenchez une requête de tirage (pull request) sur la branche par défaut. En conséquence, l’analyse du code commence.

Les déclencheurs on:pull_request et on:push pour l’analyse du code sont chacun utiles à des fins différentes.

Configuration en bloc de l’analyse du code

Vous pouvez configurer l’analyse du code dans de nombreux dépôts en même temps à l’aide d’un script. Si vous voulez utiliser un script pour déclencher des demandes de tirage qui ajoutent un workflow GitHub Actions à plusieurs référentiels, consultez le référentiel jhutchings1/Create-ActionsPRs[3] pour obtenir un exemple avec PowerShell ou nickliffen/ghas-enablement[4] pour obtenir un exemple avec NodeJS.