Skip to main content

Configuration avancée de l’analyse du code

Vous pouvez configurer une configuration avancée pour un dépôt afin de détecter des vulnérabilités de sécurité dans votre code à l’aide d’une configuration code scanning hautement personnalisable.

Qui peut utiliser cette fonctionnalité ?

Propriétaires de référentiels, propriétaire d’organisations, gestionnaires de sécurité et utilisateurs avec le rôle d’administrateur

Code scanning est disponible pour les types de référentiels suivants :

  • Des référentiels publics sur GitHub.com
  • Référentiels appartenant à l’organisation sur GitHub Team, GitHub Enterprise Cloud, ou GitHub Enterprise Server, avec GitHub Code Security activé.

Si vous n’avez pas besoin d’une configuration code scanning hautement personnalisable, envisagez d’utiliser la configuration par défaut pour code scanning. Pour plus d’informations, consultez « À propos des types d’installation pour l’analyse du code ».

Prerequisites

Votre dépôt est éligible à la configuration avancée s’il répond aux exigences suivantes.

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

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

Vous pouvez personnaliser votre analyse CodeQL 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’aide de la syntaxe standard des workflows et en spécifiant les options de l’action CodeQL. Consultez Workflows et Personnalisation de votre configuration avancée pour l’analyse de code.

L’utilisation d’actions pour exécuter l’code scanning repose sur le comptage des minutes. Pour plus d’informations, consultez « Facturation 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. Sur GitHub, accédez à la page principale du référentiel.

  2. Sous le nom de votre référentiel, 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 Advanced Security.

  4. Faites défiler jusqu’à « Code Security », puis, dans la ligne « Analyse CodeQL », sélectionnez Configurer, puis cliquez sur Avancé.

    Remarque

    Si vous passez de la configuration par défaut à la configuration avancée, dans la ligne « Analyse CodeQL », sélectionnez le , puis cliquez sur Passer à la configuration avancée. Dans la fenêtre indépendante qui s’affiche, cliquez sur Désactiver CodeQL .

    Capture d’écran de la section « Code Security » des paramètres de « Advanced Security ». 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 de code » et « Analyse 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. Consultez Personnalisation de votre configuration avancée pour l’analyse de code et Déclenchement d’un workflow.

Pour en savoir plus sur l’activation en bloc, consultez Définition d’une configuration avancée pour l’analyse de code avec CodeQL à grande échelle.

Configuration de l’code scanning avec des actions tierces

GitHub inclut des modèles de workflows pour des actions tierces, ainsi que pour l’action CodeQL. L’utilisation d’un modèle de workflow est beaucoup plus simple que l’écriture d’un workflow sans assistance.

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

  1. Sur GitHub, accédez à la page principale du référentiel.

  2. Sous le nom de votre référentiel, 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 modèles de workflow. 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 modèles de workflows. 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 modèle de workflow ouvert pour modification. Le bouton « Documentation » est mis en évidence à l’aide d’un rectangle orange.

  6. Une fois que vous avez terminé de définir votre configuration, ajoutez le nouveau workflow à votre branche par défaut.

    Pour plus d’informations, consultez « Utilisation de modèles de workflow » et « Personnalisation de votre configuration avancée pour l’analyse de code ».

Étapes suivantes

Après l’exécution réussie de votre workflow au moins une fois, vous pouvez commencer à examiner et à résoudre les alertes code scanning. Pour en savoir plus sur les alertes générées par code scanning, consultez À propos des alertes d’analyse du code et Évaluation des alertes d’analyse du code pour votre référentiel.

Pour savoir comment les exécutions de code scanning se comportent en tant que vérifications sur les pull requests, consultez Triage des alertes d’analyse du code dans les demandes de tirage (pull request).

Vous trouverez des informations détaillées sur votre configuration d’code scanning, notamment des horodatages pour chaque analyse et le pourcentage de fichiers analysés, dans la page d’état de l’outil. Pour plus d’informations, consultez « Utiliser la page d’état de l’outil pour l’analyse du code ».

Lectures complémentaires

  •         [AUTOTITLE](/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests).
    
  •         [AUTOTITLE](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#github-actions-notification-options).
    
  •         [AUTOTITLE](/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning).
    
  •         [AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/viewing-code-scanning-logs).