Skip to main content

Cette version de GitHub Enterprise Server n'est plus disponible depuis le 2026-06-02. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

Packs de requêtes CodeQL

Vous pouvez choisir parmi différentes suites de requêtes intégrées CodeQL à utiliser dans votre CodeQLcode scanning configuration.

Qui peut utiliser cette fonctionnalité ?

CodeQL est disponible pour les types de référentiels suivants :

Remarque

Cet article décrit les fonctionnalités disponibles avec le pack CodeQL CLI 2.20.3 inclus dans la mise en production initiale de GitHub Enterprise Server 3.16.

Si votre administrateur de site a mis à jour votre versionCodeQL CLI vers une version plus récente, consultez la version GitHub Enterprise Cloud de cet article pour obtenir plus d’informations sur les dernières fonctionnalités.

À propos des CodeQL packs

CodeQL les packs sont utilisés pour créer, partager, dépendre et exécuter CodeQL des requêtes et des bibliothèques. Vous pouvez personnaliser votre CodeQL analyse en téléchargeant des packs créés par d’autres utilisateurs et en les exécutant sur votre codebase.

Chaque CodeQL pack nécessite un qlpack.yml fichier dans son répertoire racine qui spécifie :

  • Comment compiler les requêtes
  • Dépendances sur d’autres CodeQL packs et bibliothèques
  • Définitions de suite de requêtes

Pour plus d’informations sur les propriétés qlpack.yml, consultez Personnalisation de l’analyse avec des packs CodeQL.

En outre, un CodeQL pack peut contenir :

  • Requêtes personnalisées (fichiers .ql)
  • Fichiers de bibliothèque
  • Suites de requêtes
  • Métadonnées

Le pack CodeQL CLI comprend des requêtes maintenues par des experts GitHub, des chercheurs en sécurité et des membres de la communauté. Si vous souhaitez exécuter des requêtes développées par d’autres organisations, CodeQL les packs de requêtes fournissent un moyen efficace et fiable de télécharger et d’exécuter des requêtes, tandis que les packs de modèles (préversion publique) peuvent être utilisés pour développer code scanning l’analyse pour reconnaître les bibliothèques et les frameworks qui ne sont pas pris en charge par défaut.

Types de CodeQL packs

Il existe trois types de packs : packs de CodeQL requête, packs de bibliothèque et packs de modèles.

  • Les packs de requêtes contiennent un ensemble de requêtes précompilées qui peuvent être évaluées sur une CodeQL base de données. Les packs de requêtes sont conçus pour être exécutés. Quand un pack de requêtes est publié, le paquet inclut toutes les dépendances transitives et les représentations pré-compilées de chaque requête en plus des sources des requêtes. Ceci garantit une exécution cohérente et efficace des requêtes dans le pack.

  • Les packs de bibliothèques sont conçus pour être utilisés par des packs de requêtes (ou d’autres packs de bibliothèques) et ne contiennent pas de requêtes. Les bibliothèques ne sont pas compilées séparément.

  • Les packs de modèles peuvent être utilisés pour développer code scanning l’analyse pour reconnaître les bibliothèques et les frameworks qui ne sont pas pris en charge par défaut. Les packs de modèles sont actuellement préversion publique et susceptibles d’être modifiés. Pendant préversion publique, des packages de modèles sont disponibles pour l’analyse C/C++, C#, Java/Kotlin, Python, and Ruby. Pour plus d'informations sur la création de vos propres packs de modèles, consultez Création et utilisation de packs CodeQL.

Où trouver des packs de requêtes

Les packs standard CodeQL pour toutes les langues prises en charge sont publiés dans le Container registry. Si vous avez installé le CodeQL CLI de manière standard, à l’aide du pack CodeQL CLI, les packs de requêtes de base sont déjà téléchargés et à votre disposition. Elles sont les suivantes :

  • codeql/cpp-queries
  • codeql/csharp-queries
  • codeql/go-queries
  • codeql/java-queries
  • codeql/javascript-queries
  • codeql/python-queries
  • codeql/ruby-queries
  • codeql/swift-queries

Pour plus d’informations sur la compatibilité entre les packs de requêtes publiés et différentes CodeQL versions, consultez Informations de référence sur les packs de requêtes CodeQL.

Vous pouvez également utiliser l’option CodeQL CLI pour créer vos propres CodeQL packs, ajouter des dépendances aux packs et installer ou mettre à jour les dépendances.

Publication et partage CodeQL de packs

Vous pouvez partager des requêtes personnalisées avec la communauté plus large CodeQL en effectuant les actions suivantes :

  • Publication sur GitHub Packages: Rendre votre pack publiquement disponible pour que d’autres utilisateurs découvrent et utilisent.
  • Contribuer au dépôt CodeQL : soumettez des requêtes qui seraient utiles à l’ensemble de la communauté en ouvrant une pull request dans le dépôt officiel.

Pour plus d’informations sur la publication et le téléchargement CodeQL de packs, consultez Publication et utilisation de packs CodeQL.

Pour plus d’informations sur la contribution à CodeQL, consultez Contribution à CodeQL.