Skip to main content

DĂ©finition de la configuration par dĂ©faut pour l’analyse du code

Configurez rapidement code scanning pour trouver le code vulnérable.

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 :

À propos de la configuration par dĂ©faut

La configuration par dĂ©faut de l’code scanning est la mĂ©thode la plus rapide, la plus simple et la moins exigeante en termes de maintenance pour activer l’code scanning sur votre dĂ©pĂŽt. En fonction du code contenu dans votre dĂ©pĂŽt, la configuration par dĂ©faut crĂ©e automatiquement une configuration d’code scanning personnalisĂ©e. Une fois l’installation par dĂ©faut activĂ©e, le code Ă©crit dans les langages pris en charge par CodeQL dans votre rĂ©fĂ©rentiel sera analysĂ© :

  • À chaque envoi (push) vers la branche par dĂ©faut du rĂ©fĂ©rentiel, ou toute branche protĂ©gĂ©e. Pour plus d’informations sur les branches protĂ©gĂ©es, consultez À propos des branches protĂ©gĂ©es.
  • Lors de la crĂ©ation ou de la validation d’une demande de tirage basĂ©e sur la branche par dĂ©faut du rĂ©fĂ©rentiel, ou sur toute branche protĂ©gĂ©e, Ă  l’exclusion des demandes de tirage provenant de duplications.
  • Selon une planification hebdomadaire.

Remarque

Si aucune demande d’envoi ou de tirage n’a Ă©tĂ© effectuĂ©e dans un rĂ©fĂ©rentiel dont la configuration par dĂ©faut a Ă©tĂ© activĂ©e pendant 6 mois, la planification hebdomadaire sera dĂ©sactivĂ©e pour Ă©conomiser vos GitHub Actions minutes.

Vous pouvez Ă©galement activer la configuration par dĂ©faut pour plusieurs ou tous les rĂ©fĂ©rentiels d’une organisation en mĂȘme temps. Pour plus d’informations sur l’activation en bloc, consultez DĂ©finition de la configuration par dĂ©faut pour l’analyse du code Ă  grande Ă©chelle.

Si vous avez besoin d’exercer un contrĂŽle plus prĂ©cis sur la configuration de l’code scanning, dĂ©finissez plutĂŽt une configuration avancĂ©e. Pour plus d’informations, consultez « Configuration de la configuration par dĂ©faut pour l’analyse du code Â».

Exigences relatives Ă  l’utilisation de la configuration par dĂ©faut

Votre rĂ©fĂ©rentiel est Ă©ligible Ă  la configuration par dĂ©faut pour code scanning si :

  • GitHub Actions sont activĂ©s.
  • GitHub Code Security est activĂ©.

Nous vous recommandons d’activer l’installation par dĂ©faut pour les rĂ©fĂ©rentiels Ă©ligibles s’il est possible que les rĂ©fĂ©rentiels incluent au moins un langage pris en charge par CodeQL dans le futur. Si vous activez l’installation par dĂ©faut sur un rĂ©fĂ©rentiel qui n’inclut aucun langage pris en charge par CodeQL, la configuration par dĂ©faut n’exĂ©cute pas d’analyses ni n’utilise de minutes GitHub Actions. Si les langages pris en charge par CodeQL sont ajoutĂ©s Ă  la branche par dĂ©faut du rĂ©fĂ©rentiel, la configuration par dĂ©faut commencera automatiquement Ă  analyser les langages pris en charge par CodeQL et Ă  utiliser GitHub Actions minutes. Pour plus d’informations sur les langages pris en charge par CodeQL, consultez À propos de l’analyse du code avec CodeQL.

Vous pouvez utiliser la configuration par défaut pour tous les langages pris en charge par CodeQL pour les exécuteurs auto-hébergés ou les exécuteurs hébergés par GitHub. Consultez Attribuer des étiquettes aux exécuteurs plus loin dans cet article.

La configuration par dĂ©faut utilise le mode de gĂ©nĂ©ration none pour C# et Java et utilise le mode de gĂ©nĂ©ration autobuild pour d’autres langages compilĂ©s. Vous devez donc configurer vos exĂ©cuteurs auto-hĂ©bergĂ©s pour vous assurer qu’ils peuvent exĂ©cuter toutes les commandes nĂ©cessaires pour l’analyse C/C++, C# et Swift. L’analyse du code JavaScript/TypeScript, Go, Ruby, Python et Kotlin ne nĂ©cessite actuellement aucune configuration spĂ©ciale.

Personnalisation de la configuration par défaut

Nous vous recommandons de commencer Ă  utiliser code scanning avec le programme d’installation par dĂ©faut. Une fois que vous avez initialement configurĂ© la configuration par dĂ©faut, vous pouvez Ă©valuer code scanning pour voir comment cela fonctionne pour vous. Si vous constatez que quelque chose ne fonctionne pas comme prĂ©vu, vous pouvez personnaliser la configuration par dĂ©faut afin de mieux rĂ©pondre Ă  vos besoins. Pour plus d’informations, consultez « Ă‰valuation de la configuration par dĂ©faut pour l’analyse du code Â».

À propos de l’ajout de langages compilĂ©s et non compilĂ©s Ă  votre configuration par dĂ©faut

Si le code d’un rĂ©fĂ©rentiel change pour inclure Go, JavaScript/TypeScript, Python ou Ruby, GitHub met automatiquement Ă  jour la configuration code scanning pour inclure le nouveau langage. Si l’code scanning Ă©choue avec la nouvelle configuration, GitHub reprend automatiquement la prĂ©cĂ©dente afin que le dĂ©pĂŽt ne perde pas la couverture de l’code scanning.

Les langages compilĂ©s ne sont pas automatiquement inclus dans la configuration par dĂ©faut, car ils nĂ©cessitent souvent une configuration plus avancĂ©e, mais vous pouvez sĂ©lectionner manuellement n’importe quel langage compilĂ© pris en charge par CodeQL pour l’analyse.

DĂ©finition de l’installation par dĂ©faut pour un rĂ©fĂ©rentiel

Remarque

Si les analyses Ă©chouent pour tous les langages pris en charge par CodeQL dans un rĂ©fĂ©rentiel, la configuration par dĂ©faut restera activĂ©e, mais aucune analyse ne sera effectuĂ©e et aucune minute GitHub Actions ne sera utilisĂ©e tant qu’un autre langage pris en charge par CodeQL n’aura pas Ă©tĂ© ajoutĂ© au rĂ©fĂ©rentiel ou que la configuration par dĂ©faut n’aura pas Ă©tĂ© reconfigurĂ©e manuellement et que l’analyse d’un langage pris en charge par CodeQL aura rĂ©ussi.

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

    Remarque

    Si vous configurez l’installation par dĂ©faut sur une duplication, vous devez d’abord activer GitHub Actions. Pour activer GitHub Actions, sous le nom de votre rĂ©fĂ©rentiel, cliquez sur Actions, puis cliquez sur Je comprends mes flux de travail, allez de avant et activez-les. N’oubliez pas que cette action active tous les flux de travail existants sur votre fork.

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

  4. À droite de « Code Security Â», cliquez sur Activer.

  5. Sous « Code Security Â», Ă  droite de « Analyse CodeQL Â», sĂ©lectionnez Configurer , puis cliquez sur Par dĂ©faut.

    Capture d’écran de la section « Code Security Â» des paramĂštres « Advanced Security Â». Le bouton « Configuration par dĂ©faut Â» est mis en Ă©vidence Ă  l’aide d’un rectangle orange.

    Vous voyez alors une boĂźte de dialogue « Configuration par dĂ©faut de CodeQL Â» qui rĂ©sume la dĂ©finition de l’code scanning créée automatiquement par la configuration par dĂ©faut.

    Remarque

    Si votre rĂ©fĂ©rentiel contient uniquement des langages compilĂ©s pris en charge par CodeQL (par exemple, Java), vous ĂȘtes redirigĂ© vers la page des paramĂštres pour sĂ©lectionner les langages que vous souhaitez ajouter Ă  la configuration par dĂ©faut.

  6. Vous pouvez également personnaliser votre installation code scanning en cliquant sur Modifier.

    • Pour ajouter ou supprimer un langage de l’analyse effectuĂ©e par la configuration par dĂ©faut, sĂ©lectionnez ou dĂ©sĂ©lectionnez ce langage dans la section « Langages Â». Si vous souhaitez analyser un langage compilĂ© pris en charge par CodeQL avec la configuration par dĂ©faut, sĂ©lectionnez ce langage ici.
    • Pour spĂ©cifier la suite de requĂȘtes CodeQL que vous souhaitez utiliser, sĂ©lectionnez votre suite de requĂȘtes prĂ©fĂ©rĂ©e dans la section « Suites de requĂȘtes Â».
  7. Passez en revue les paramĂštres de l’installation par dĂ©faut sur votre rĂ©fĂ©rentiel, puis cliquez sur Activer CodeQL. Cela va dĂ©clencher un flux de travail permettant de tester la nouvelle configuration gĂ©nĂ©rĂ©e automatiquement.

    Remarque

    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 d’code scanning existantes. Cet avertissement signifie que la configuration par dĂ©faut va dĂ©sactiver le fichier de workflow existant et bloquer les chargements d’API d’analyse CodeQL.

  8. Si vous souhaitez voir votre configuration par défaut une fois celle-ci activée, sélectionnez , puis cliquez sur Voir la configuration de CodeQL.

Attribuer des étiquettes aux exécuteurs

Remarque

Code scanning voit les exĂ©cuteurs attribuĂ©s lorsque la configuration par dĂ©faut est activĂ©e. Si un exĂ©cuteur est assignĂ© Ă  un rĂ©fĂ©rentiel qui utilise dĂ©jĂ  la configuration par dĂ©faut, vous devez dĂ©sactiver et rĂ©activer la configuration par dĂ©faut pour commencer Ă  utiliser l’exĂ©cuteur. Si vous ajoutez un exĂ©cuteur et souhaitez commencer Ă  l’utiliser, vous pouvez modifier la configuration manuellement sans avoir Ă  dĂ©sactiver et rĂ©activer la configuration par dĂ©faut.

Vous pouvez Ă©galement attribuer aux exĂ©cuteurs auto-hĂ©bergĂ©s l’étiquette code-scanning par dĂ©faut, ou vous pouvez Ă©ventuellement leur attribuer des Ă©tiquettes personnalisĂ©es afin que les rĂ©fĂ©rentiels individuels puissent utiliser des exĂ©cuteurs diffĂ©rents. Pour plus d’informations sur l’attribution d’étiquettes aux exĂ©cuteurs auto-hĂ©bergĂ©s, consultez Utilisation d’étiquettes avec des exĂ©cuteurs auto-hĂ©bergĂ©s.

La spĂ©cification d’étiquettes personnalisĂ©es pour les exĂ©cuteurs auto-hĂ©bergĂ©s est facultative. Sauf cas particulier, nous vous recommandons de n’attribuer aux exĂ©cuteurs que l’étiquette par dĂ©faut code-scanning. Par exemple, vous pouvez :

  • Attribuez des exĂ©cuteurs autonomes plus puissants aux rĂ©fĂ©rentiels essentiels pour une analyse code scanning plus rapide.
  • ExĂ©cutez vos analyses code scanning sur une plateforme particuliĂšre (par exemple, macOS).
  • ContrĂŽlez de maniĂšre granulaire la charge de travail de vos exĂ©cuteurs hĂ©bergĂ©s par GitHub et de vos exĂ©cuteurs auto-hĂ©bergĂ©s.

Une fois que vous avez attribuĂ© des Ă©tiquettes personnalisĂ©es aux exĂ©cuteurs auto-hĂ©bergĂ©s, vos rĂ©fĂ©rentiels peuvent utiliser ces exĂ©cuteurs pour la configuration par dĂ©faut de code scanning. Pour plus d’informations, consultez Configurer la configuration par dĂ©faut d’un rĂ©fĂ©rentiel, plus haut dans cet article.

Vous pouvez Ă©galement utiliser security configurations pour attribuer des Ă©tiquettes aux exĂ©cuteurs auto-hĂ©bergĂ©s pour code scanning. Consultez CrĂ©ation d’une configuration de sĂ©curitĂ© personnalisĂ©e.

Étapes suivantes

Une fois que votre configuration fonctionne bien au moins une fois, vous pouvez commencer Ă  examiner et Ă  rĂ©soudre les alertes code scanning. 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.

Une fois que vous avez configurĂ© l’installation par dĂ©faut pour code scanning, vous pouvez vous informer sur l’évaluation de son fonctionnement et sur les prochaines Ă©tapes Ă  suivre pour la personnaliser. Pour plus d’informations, consultez « Ă‰valuation de la configuration par dĂ©faut pour l’analyse du code Â».

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 « Ă€ propos de la page d’état de l’outil pour l’analyse du code Â».

Quand vous dĂ©finissez la configuration par dĂ©faut, vous pouvez rencontrer une erreur. Pour plus d’informations sur la rĂ©solution des problĂšmes spĂ©cifiques, consultez RĂ©solution des problĂšmes d’analyse du code.