Skip to main content

Configuration avancée de l’analyse du code

Vous pouvez configurer une configuration avancée pour un référentiel afin de rechercher des vulnérabilités de sécurité dans votre code à l’aide d’une configuration hautement personnalisable code scanning .

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 hautement personnalisable code scanning , 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 les langages pris en charge par CodeQL ou vous envisagez de générer des résultats d’analyse de code avec un outil tiers.
  • GitHub Actions est activé.
  • Il est visible publiquement, ou GitHub Code Security est activé.

Configuration avancée pour code scanning avec CodeQL

Vous pouvez personnaliser votre CodeQL analyse en créant et en modifiant un fichier de flux de travail. La sélection d’une configuration avancée génère un fichier de flux de travail de base pour vous permettre de personnaliser à l’aide de la syntaxe de flux de travail standard et de spécifier des options pour l’action CodeQL . Consultez Flux de travail et Options de configuration de flux de travail pour l’analyse du code.

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

  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 », dans la ligne «CodeQL analyse », sélectionnez Configurer, puis cliquez sur Avancé.

    Remarque

    Si vous passez de la configuration par défaut à la configuration avancée, dans la ligne «CodeQL analyse », sélectionnez , puis cliquez sur Basculer vers avancé. Dans la fenêtre contextuelle 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 code scanning votre code est analysé, modifiez le flux de travail.

    En règle générale, vous pouvez valider le Workflow d’analyse CodeQL sans apporter de modifications. 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 « Options de configuration de flux de travail pour l’analyse du 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 la suggestion Workflow d’analyse CodeQL, code scanning est configuré pour analyser votre code chaque fois que vous envoyez une modification à la branche par défaut ou à toutes les branches protégées, ou déclenchez une pull request sur la branche par défaut. Par conséquent, code scanning commencera maintenant.

Les déclencheurs on:pull_request et on:push pour l’analyse du code sont chacun utiles à des fins différentes. Consultez Options de configuration de flux de travail pour l’analyse du 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 code scanning à l'aide d'actions tierces

          GitHub inclut des modèles de flux de travail pour les actions tierces, ainsi que 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 des actions GitHub ».

  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 l’affichage « Choisir un flux de travail » ou « Prise en main GitHub Actions», faites défiler jusqu’à la catégorie « Sécurité », puis cliquez sur Configurer sous le flux de travail 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 « Options de configuration de flux de travail pour l’analyse du code ».

Étapes suivantes

Une fois que votre flux de travail s’exécute correctement au moins une fois, vous êtes prêt à commencer à examiner et à résoudre code scanning les alertes. Pour plus d’informations sur les alertes code scanning, consultez À propos des alertes d’analyse du code et Évaluation des alertes d’analyse du code pour votre référentiel.

Découvrez comment code scanning les exécutions agissent sur les requêtes de tirage comme des vérifications, consultez Triage des alertes d’analyse du code dans les demandes de tirage (pull request).

Vous trouverez des informations détaillées sur votre code scanning configuration, y compris les 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).