À propos de code scanning
Code scanning es une fonctionnalité que vous utilisez pour analyser le code dans un dépôt GitHub afin de détecter d’éventuelles vulnérabilités de sécurité et erreurs de codage. Tous les problèmes identifiés par l’analyse sont énumérés dans votre référentiel.
Vous pouvez configurer code scanning pour exécuter l’analyse CodeQL et des analyses tierces. Code scanning prend également en charge l'exécution d'une analyse en mode natif à l'aide de GitHub Actions, ou en externe à l'aide de l'infrastructure CI/CD existante. Les puces ci-dessous résument les options disponibles pour les utilisateurs lorsque vous configurez votre instance GitHub Enterprise Server pour autoriser code scanning l’utilisation d’actions.
- CodeQL : utilise GitHub Actions avec la configuration par défaut (consultez Définition de la configuration par défaut pour l’analyse du code) ou la configuration avancée (consultez Configuration avancée de l’analyse du code), ou exécute l’analyse CodeQL dans un système d’intégration continue (CI) tiers (consultez Utilisation de l’analyse du code avec votre système CI existant).
- Third‑party : utilise GitHub Actions ou des outils tiers et charge les résultats dans GitHub (consultez Chargement d’un fichier SARIF sur GitHub).
Vérifier si votre licence inclut Advanced Security
Vous pouvez vérifier si votre entreprise dispose d’une licence pour les produits Advanced Security en passant en revue les paramètres de votre entreprise. Pour plus d’informations, consultez « Activation des GitHub Advanced Securityproduits pour votre entreprise ».
Conditions préalables pour code scanning
-
Une licence pour GitHub Code Security ou GitHub Advanced Security, (voir GitHub Advanced Security facturation des licences)
-
Code scanning activé dans la console de gestion (voir Activation des GitHub Advanced Securityproduits pour votre entreprise)
-
Une machine virtuelle ou un conteneur pour exécuter l'analyse code scanning.
Exécution code scanning à l’aide de GitHub Actions
Provisionnement d’un runner auto-hébergé
GitHub peut s’exécuter code scanning en utilisant un GitHub Actions flux de travail. Tout d’abord, vous devez provisionner un ou plusieurs exécuteurs auto-hébergés GitHub Actions dans votre environnement. Vous pouvez provisionner des exécuteurs auto-hébergés au niveau du dépôt, de l’organisation ou du compte d’entreprise. Consultez [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners) et [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners).
Vous devez vous assurer que Git se trouve dans la variable PATH sur tous les exécuteurs auto-hébergés que vous utilisez pour exécuter des CodeQL actions.
Remarque
Si vous utilisez CodeQLcode scanning pour analyser le code écrit dans Python dans votre entreprise, vous devez vous assurer que votre exécuteur auto-hébergé a Python 3 installé.
Provisionnement d’un ensemble de runners
Vous pouvez utiliser Actions Runner Controller pour créer un ensemble d'exécuteurs dédié pour l'instance GitHub Enterprise Server. Consultez Déploiement de groupes identiques d’exécuteurs avec Actions Runner Controller.
Configuration des actions pour code scanning
Si vous souhaitez utiliser des actions pour exécuter code scanning sur GitHub Enterprise Server, les actions doivent être disponibles sur votre appareil.
L’action CodeQL est incluse dans votre installation de GitHub Enterprise Server. Si les GitHub Enterprise Server3.21 et votre exécuteur GitHub Actions ont accès à internet, l’action téléchargera automatiquement le paquet CodeQL2.24.3 requis pour effectuer l’analyse. Vous pouvez également utiliser un outil de synchronisation pour rendre la dernière version publiée du bundle d’analyse CodeQL disponible localement. Consultez Configuration de CodeQL l’analyse sur un serveur sans accès à Internet ci-dessous.
Vous pouvez également mettre à disposition des actions tierces aux utilisateurs pour code scanning, en configurant GitHub Connect. Voir « Configuration de l’analyse du code pour votre appliance » ci-dessous.
Configuration de l’analyse CodeQL sur un serveur sans accès à Internet
Si le serveur sur lequel vous exécutez GitHub Enterprise Server n’est pas connecté à Internet et que vous souhaitez autoriser les utilisateurs à activer CodeQLcode scanning pour leurs dépôts, vous devez utiliser l’outil CodeQL de synchronisation d’actions pour copier le CodeQL bundle d’analyse depuis GitHub.com votre serveur. L’outil et les instructions d’utilisation sont disponibles à l’adresse https://github.com/github/codeql-action-sync-tool.
Si vous configurez l’outil CodeQL de synchronisation d’actions, vous pouvez l’utiliser pour synchroniser les dernières versions de l’action et le CodeQL bundle d’analyse associé CodeQL . Celles-ci sont compatibles avec GitHub Enterprise Server.
Configuration de GitHub Connect pour synchroniser GitHub Actions
- Si vous souhaitez télécharger des flux de travail d’action à la demande à partir de GitHub.com, vous devez activer GitHub Connect. Consultez Activation de GitHub Connect pour GitHub.com.
- Vous devez également activer GitHub Actions. Consultez Prise en main de GitHub Actions pour GitHub Enterprise Server.
- L’étape suivante consiste à configurer l’accès aux actions sur GitHub.com en utilisant GitHub Connect. Consultez Activation de l’accès automatique aux actions de GitHub.com à l’aide de GitHub Connect.
- Ajoutez un exécuteur auto-hébergé dans votre dépôt, votre organisation ou votre compte d’entreprise. Consultez Ajout d’exécuteurs auto-hébergés.
Exécution de l’analyse du code à l’aide de CodeQL CLI
Si vous ne souhaitez pas utiliser GitHub Actions, vous devriez exécuter code scanning à l'aide de CodeQL CLI.
Il CodeQL CLI s’agit d’un outil en ligne de commande que vous utilisez pour analyser des bases de code sur n’importe quel ordinateur, y compris un système CI/CD tiers. Consultez Utilisation de l’analyse du code avec votre système CI existant.