Skip to main content

Modification de la configuration d’installation par défaut

Vous pouvez modifier la configuration par défaut existante pour code scanning afin de mieux répondre à vos besoins.

Qui peut utiliser cette fonctionnalité ?

Propriétaires de l’organisation, gestionnaires de sécurité et membres de l’organisation avec le rôle d’administrateur

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. Vous pouvez personnaliser votre configuration dans l’interface utilisateur ou à l’aide de propriétés de référentiel pour ajouter des requêtes personnalisées ou appliquer un fichier de configuration personnalisé. Voir À propos des types d’installation pour l’analyse du code et Propriétés du référentiel pour code scanning.

Personnalisation de votre configuration existante de l’installation par défaut

  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. Dans la ligne «CodeQL analysis » de la section «Code Security », sélectionnez , puis cliquez sur Afficher CodeQL la configuration.

  5. Dans la fenêtre «CodeQL configuration par défaut », cliquez sur Modifier.

  6. Si vous le souhaitez, dans la section « Langues », sélectionnez ou désélectionnez les langues pour l’analyse.

  7. Vous pouvez également sélectionner une autre suite de requêtes à exécuter sur votre code dans la ligne « Suite de requêtes » de la section « Paramètres d’analyse ».

  8. Si vous le souhaitez, pour utiliser des exécuteurs étiquetés, dans la section « Type d’exécuteur » de la boîte de dialogue modale «CodeQL configuration par défaut », sélectionnez Exécuteur Standard GitHub pour ouvrir un menu déroulant, puis sélectionnez .**** Ensuite, à côté de « étiquette Runner », entrez l’étiquette d’un exécuteur auto-hébergé ou GitHub-hébergé existant. Pour plus d’informations, consultez « Définition de la configuration par défaut pour l’analyse du code ».

  9. (Version d'essai publique) Si vous le souhaitez, dans la ligne « Modèle de menace » de la section « Paramètres d’analyse », sélectionnez Sources distantes et locales. Cette option est disponible uniquement pour les référentiels avec du code dans une langue prise en charge : Java/Kotlin et C#.

  10. Pour mettre à jour votre configuration, ainsi qu’exécuter une analyse initiale de votre code avec la nouvelle configuration, cliquez sur Enregistrer les modifications. Toutes les analyses futures utiliseront votre nouvelle configuration.

Définir les gravités d’alerte qui provoquent un échec de vérification d’une demande de tirage

Vous pouvez utiliser des ensembles de règles pour empêcher la fusion des demandes de tirage (pull request) lorsque l’une des conditions suivantes est remplie :

  • Un outil requis détecte une alerte code scanning dont la gravité est spécifiée dans l’ensemble de règles.
  • L’analyse d’un outil requis est toujours en cours.
  • Un outil requis n’est pas configuré pour le référentiel.

Pour plus d’informations, consultez « Définir la protection contre la fusion d’analyse du code ». Pour plus d’informations générales sur les ensembles de règles, consultez À propos des ensembles de règles.

Inclure les sources locales de données souillées dans la configuration par défaut

Remarque

Les modèles de menace se trouvent actuellement en préversion publique et peuvent être amenés à changer. Pendant la préversion publique, les modèles de risque ne sont pris en charge que par l’analyse pour Java/Kotlin et C#.

Si votre codebase ne tient compte que des demandes réseau à distance comme sources potentielles de données souillées, nous vous recommandons d’utiliser le modèle de risque par défaut. Si votre codebase considère les sources autres que les requêtes réseau pour contenir potentiellement des données teintes, vous pouvez utiliser des modèles de menace pour ajouter ces sources supplémentaires à votre CodeQL analyse. Pendant le préversion publique, vous pouvez ajouter des sources locales (par exemple : arguments de ligne de commande, variables d’environnement, systèmes de fichiers et bases de données) que votre base de code peut considérer comme des sources supplémentaires de données teintes.

Vous pouvez modifier le modèle de risque utilisé dans une configuration par défaut. Pour plus d’informations, consultez Personnalisation de votre configuration existante de l’installation par défaut.

Extension de CodeQL couverture avec CodeQL packs de modèles dans la configuration par défaut

Remarque

Les packs de modèles CodeQL sont actuellement en préversion publique et peuvent faire l’objet de modifications. Les packs de modèles sont pris en charge pour l’analyse C/C++, C#, Java/Kotlin, Python, Ruby et Rust.

L’éditeur de modèle CodeQL de l’extension CodeQL pour Visual Studio Code prend en charge les dépendances de modélisation pour C#, Java/Kotlin, Python et Ruby.

Si votre entreprise est hébergée sur GitHub.com et que vous utilisez des frameworks et des bibliothèques qui ne sont pas reconnus par les bibliothèques standard incluses avec CodeQL, vous pouvez modéliser vos dépendances et étendre l’analyse code scanning. Pour plus d’informations, consultez les langages et infrastructures pris en charge dans la documentation pour CodeQL.

Pour la configuration par défaut, vous devez définir les modèles de vos dépendances supplémentaires dans CodeQL les packs de modèles. Vous pouvez étendre la couverture dans la configuration par défaut avec CodeQL des packs de modèles pour des référentiels individuels ou à grande échelle pour tous les référentiels d’une organisation.

Pour plus d’informations sur les packs de modèles CodeQL et pour créer vos propres packs, consultez Utiliser l'éditeur de modèles CodeQL.

Extension de la couverture d’un référentiel

  1. Dans le répertoire .github/codeql/extensions du référentiel, copiez le répertoire du pack de modèles qui doit inclure un fichier codeql-pack.yml et tous les fichiers .yml contenant des modèles supplémentaires pour les bibliothèques ou les cadres que vous souhaitez inclure dans votre analyse.
  2. Les packs de modèles sont automatiquement détectés et utilisés dans votre code scanning analyse.
  3. Si vous modifiez ultérieurement votre configuration pour utiliser la configuration avancée, tous les packs de modèles dans le répertoire .github/codeql/extensions seront toujours reconnus et utilisés.

Extension de la couverture pour tous les référentiels d’une organisation

Remarque

Si vous étendez la couverture avec CodeQL des packs de modèles pour tous les référentiels d’une organisation, les packs de modèles que vous spécifiez doivent être publiés dans le GitHubContainer registry et être accessibles aux référentiels qui s’exécutent.code scanning Pour plus d’informations, consultez « Utilisation du registre de conteneurs ».

  1. Dans le coin supérieur droit de GitHub, cliquez sur votre photo de profil, puis sur Vos organisations.

  2. Sous le nom de votre organisation, cliquez sur Settings. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran des onglets dans le profil d’une organisation. L’onglet « Paramètres » est présenté en orange foncé.

  3. Dans la section « Sécurité » de la barre latérale, cliquez sur Advanced Security puis Paramètres globaux.

  4. Recherchez la section «Code scanning ».

  5. En regard de « Développer CodeQL l’analyse », cliquez sur Configurer.

  6. Entrez des références aux packs de modèles publiés que vous souhaitez utiliser, une par ligne, puis cliquez sur Enregistrer.

    Capture d’écran de la vue « Étendre l’analyse CodeQL » dans les paramètres d’une organisation.

  7. Les packs de modèles sont automatiquement détectés et utilisés lors code scanning de l’exécution sur n’importe quel référentiel de l’organisation avec l’installation par défaut activée.

Personnalisation de la configuration par défaut avec un fichier de configuration

Vous pouvez personnaliser davantage la configuration par défaut en appliquant un CodeQL fichier de configuration à l’aide de la github-codeql-config-file propriété du référentiel. La configuration du fichier est fusionnée avec la configuration par défaut génère automatiquement, ce qui vous permet, par exemple, d’ajouter des requêtes supplémentaires ou d’exclure des chemins sans avoir à basculer vers une configuration avancée. Pour plus d’informations sur ce que vous pouvez configurer dans un CodeQL fichier de configuration et sur la façon dont il est fusionné avec la configuration par défaut, consultez Propriétés du référentiel pour code scanning.

Application d’un fichier de configuration à tous les référentiels d’une organisation

La méthode recommandée pour personnaliser la configuration par défaut à grande échelle consiste à définir une valeur par défaut à l’échelle de l’organisation pour la github-codeql-config-file propriété de référentiel, afin que vous n’ayez pas besoin de mettre à jour des référentiels individuels lorsque vous les ajoutez à votre organisation.

  1. Créez un CodeQL fichier de configuration dans un référentiel central. Vous pouvez créer un référentiel à cet effet ou ajouter le fichier à un référentiel existant. Votre configuration à l’échelle de l’organisation peut ensuite être conservée à un seul endroit. Pour plus d’informations sur le format des fichiers de configuration, consultez Options de configuration de flux de travail pour l’analyse du code.

    Si le fichier de configuration est stocké dans un référentiel privé autre que celui analysé, vous devez également configurer une configuration de Registre privé source Git afin que le programme d’installation par défaut puisse y accéder à partir d’autres référentiels. Consultez « Accès des fonctionnalités de sécurité aux registres privés ».

  2. Créez une github-codeql-config-file propriété de référentiel pour votre organisation et définissez sa valeur par défaut sur le chemin du fichier de configuration. Par exemple, si vous avez validé votre fichier de configuration sur codeql.yml la main branche de octo-org/config, vous devez définir la valeur de la propriété remote=octo-org/config@main:codeql.ymldu référentiel sur .

    Nous vous recommandons de tester le fichier de configuration sur un référentiel unique avant de définir la valeur par défaut à l’échelle de l’organisation. Consultez « Propriétés du référentiel pour code scanning ».

  3. Le fichier de configuration est automatiquement détecté et fusionné avec la configuration par défaut génère la prochaine exécution code scanning sur chaque référentiel de l’organisation. Les dépôts qui ont déjà une valeur explicite définie pour la github-codeql-config-file propriété continuent d’utiliser cette valeur au lieu de la valeur par défaut à l’échelle de l’organisation. Pour plus d’informations sur la façon dont les valeurs de propriété de dépôt par défaut et explicites interagissent, consultez Gestion des propriétés personnalisées pour les référentiels de votre organisation.

Application d’un fichier de configuration à un référentiel

Si vous avez uniquement besoin de personnaliser la configuration par défaut pour un référentiel unique ou de tester une configuration avant de la déployer dans votre organisation, vous pouvez définir la propriété directement sur ce référentiel.

  1. Créez un CodeQL fichier de configuration. Il peut s’agir d’un fichier dans le référentiel en cours d’analyse ou d’un fichier dans un dépôt distinct. Pour plus d’informations sur le format des fichiers de configuration, consultez Options de configuration de flux de travail pour l’analyse du code.

    Si le fichier de configuration est stocké dans un référentiel privé autre que celui analysé, vous devez également configurer une configuration de Registre privé source Git afin que le programme d’installation par défaut puisse y accéder à partir d’autres référentiels. Consultez « Accès des fonctionnalités de sécurité aux registres privés ».

  2. Définissez la github-codeql-config-file propriété du référentiel sur le chemin d’accès local ou distant du fichier de configuration. Pour plus d’informations sur les valeurs acceptables pour cette propriété, consultez Gestion des propriétés personnalisées pour les référentiels de votre organisation pour savoir comment définir une valeur de propriété de référentiel.

  3. Le fichier de configuration est automatiquement détecté et fusionné avec le programme d’installation par défaut de configuration génère la prochaine exécution code scanning sur le référentiel.

Analyses continues sur les référentiels inactifs

By default, code scanning default setup pauses weekly scheduled scans on repositories that have had no commits pushed or pull requests opened for 180 days. Vous pouvez remplacer ce comportement dans une organisation, même si la période d’analyse n’est pas configurable.

  1. Dans le coin supérieur droit de GitHub, cliquez sur votre photo de profil, puis sur Vos organisations.

  2. Sous le nom de votre organisation, cliquez sur Settings. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran des onglets dans le profil d’une organisation. L’onglet « Paramètres » est présenté en orange foncé.

  3. Dans la section « Sécurité » de la barre latérale, cliquez sur Advanced Security puis Paramètres globaux.

  4. Dans la section « Code scanning », activez le paramètre Conserver les analyses planifiées en cours tous les 30 jours pour les référentiels inactifs.

Options de personnalisation supplémentaires

Si vous devez modifier d’autres aspects de votre code scanning configuration, envisagez de configurer une configuration avancée. Consultez « Configuration avancée de l’analyse du code ».