À 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 langues prises en charge par CodeQL dans votre référentiel sera analysé à l’aide de CodeQL :
- À chaque envoi (push) sur la branche par défaut du dépôt, ou sur 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 dépôt, ou sur toute branche protégée, à l’exclusion des demandes de tirage provenant de duplications.
- Selon une planification hebdomadaire.
Langues prises en charge
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.
Si le code d’un référentiel change pour inclure des langues prises en charge par CodeQL, GitHub met automatiquement à jour la configuration code scanning pour inclure la nouvelle langue. 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.
Personnalisation de la configuration par défaut
Après avoir exécuté une analyse initiale de votre code avec la configuration par défaut, vous pouvez apporter des modifications à votre configuration pour mieux répondre à vos besoins.
Options de configuration
Pour les configurations existantes de l’installation par défaut, vous pouvez modifier :
- Les langues qui seront analysées par la configuration par défaut.
- La suite de requêtes s’exécute pendant l’analyse. Pour plus d’informations sur les suites de requêtes disponibles, consultez Suites de requêtes CodeQL.
- Modèles de menace (bêta) à utiliser pour l’analyse. Votre choix de modèle de risque détermine quelles sources de données souillées sont traitées comme un risque pour votre application. Pendant la bêta, les modèles de risque ne sont pris en charge que pour l’analyse de Java/Kotlin et C#. Pour plus d’informations sur les modèles de menace, consultez Inclure les sources locales de données souillées dans la configuration par défaut.
Si votre codebase dépend d'une bibliothèque ou d'un cadre qui n'est pas reconnu par les bibliothèques standard incluses dans CodeQL, vous pouvez également étendre la couverture CodeQL dans la configuration par défaut en utilisant des packs de modèles CodeQL. Pour plus d'informations, consultez Extension de la couverture de CodeQL avec les packs de modèles CodeQL dans la configuration par défaut.
Programmes d’exécution disponibles
Vous pouvez utiliser la configuration par défaut pour tous les langages pris en charge par CodeQL sur les exécuteurs auto-hébergés ou par GitHub sur les exécuteurs hébergés.
Vous pouvez affecter des exécuteurs auto-hébergés pour la configuration par défaut en donnant aux exécuteurs l’étiquette code-scanning.
À propos de l’installation avancée
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. La configuration avancée de l’code scanning est utile quand vous devez personnaliser votre code scanning. Vous pouvez configurer code scanning avec GitHub Actions ou un système externe d’intégration continue ou de livraison/déploiement continu (CI/CD).
Si vous exécutez l’analyse du code en utilisant plusieurs configurations, il arrive qu’une alerte ait plusieurs origines d’analyse. Si une alerte a plusieurs origines d’analyse, vous pouvez afficher l’état de l’alerte pour chaque origine d’analyse sur la page de l’alerte. Pour plus d’informations, consultez « À propos des alertes d’analyse du code ».
Avec GitHub Actions
En créant et en modifiant un fichier de flux de travail GitHub Actions, vous pouvez définir comment créer des langages compilés, choisir les requêtes à exécuter, sélectionner les langues à analyser, utiliser une génération de matrice, etc. Vous avez également accès à toutes les options permettant de contrôler les workflows, par exemple : modifier le calendrier d’analyse, définir les déclencheurs de workflow, spécifier les exécuteurs spécialisés à utiliser.
Votre administrateur de site peut aussi mettre des actions tierces à la disposition des utilisateurs pour code scanning en configurant GitHub Connect. Pour plus d’informations, consultez « Configuration de l’analyse de code pour votre appliance ».
Avec un système CI/CD tiers
En alternative à l'exécution de code scanning dans GitHub à l’aide de GitHub Actions, vous pouvez analyser le code dans un système CI/CD externe, puis téléverser les résultats sur GitHub.
L’CodeQL CLI est un outil en ligne de commande autonome que vous pouvez utiliser pour analyser le code. Vous pouvez ajouter la CodeQL CLI à votre système tiers ou utiliser un autre outil d'analyse statique tiers pouvant produire des résultats sous forme de données SARIF (Static Analysis Results Interchange Format) 2.1.0. Pour plus d’informations, consultez « À propos de CodeQL CLI » et « Prise en charge de SARIF pour l’analyse du code ».
Les alertes de l’code scanning que vous générez en externe sont affichées de la même façon que celles de code scanning que vous générez dans GitHub.
Étapes suivantes
Vous pouvez activer la configuration par défaut d’un référentiel unique, de plusieurs référentiels ou de tous les référentiels d’une organisation en même temps.
- Pour un référentiel unique, consultez Définition de la configuration par défaut pour l’analyse du code.
- Pour l’activation en bloc, consultez Définition de la configuration par défaut pour l’analyse du code à grande échelle.
Pour configurer la configuration avancée à la place, consultez Configuration avancée de l’analyse du code.