Skip to main content
Nous publions des mises à jour fréquentes de notre documentation, et la traduction de cette page peut encore être en cours. Pour obtenir les informations les plus actuelles, consultez la documentation anglaise.

À propos de l’analyse du code avec CodeQL

Vous pouvez utiliser CodeQL pour identifier les vulnérabilités et les erreurs dans votre code. Les résultats sont affichés sous la forme d’alertes d’code scanning dans GitHub.

Code scanning est disponible pour les dépôts appartenant à l’organisation dans GitHub Enterprise Server. Cette fonctionnalité nécessite une licence pour GitHub Advanced Security. Pour plus d’informations, consultez « À propos de GitHub Advanced Security ».

Remarque : Votre administrateur de site doit activer l’code scanning pour votre instance GitHub Enterprise Server afin que vous puissiez utiliser cette fonctionnalité. Pour plus d’informations, consultez « Configuration de code scanning pour votre appliance ».

À propos de l’code scanning avec CodeQL

CodeQL est le moteur d’analyse de code développé par GitHub pour automatiser les vérifications de sécurité. Vous pouvez analyser votre code à l’aide de CodeQL et afficher les résultats sous forme d’alertes d’code scanning.

Il existe deux façons principales d’utiliser l’analyse CodeQL pour l’code scanning :

Sur GitHub Enterprise Server 3.5,, l’action CodeQL utilise CodeQL CLI version 2.8.5 par défaut. Nous vous recommandons d’utiliser la même version de l’interface CodeQL CLI si vous exécutez une analyse dans un système CI externe.

À propos de CodeQL

CodeQL traite le code comme les données, ce qui vous permet de détecter les vulnérabilités potentielles dans votre code avec une plus grande confiance que les analyseurs statiques traditionnels.

  1. Vous générez une base de données CodeQL pour représenter votre codebase.
  2. Ensuite, vous exécutez des requêtes CodeQL sur cette base de données pour identifier les problèmes dans le codebase.
  3. Les résultats des requêtes sont affichés sous la forme d’alertes d’code scanning dans GitHub Enterprise Server quand vous utilisez CodeQL avec l’code scanning.

CodeQL prend en charge les langages compilés et interprétés, et peut trouver des vulnérabilités et des erreurs dans le code écrit dans les langages pris en charge.

  • C/C++
  • C#
  • Go
  • Java
  • JavaScript/TypeScript
  • Python
  • Ruby

Remarque :

  • L’analyse CodeQL pour Ruby est actuellement en version bêta. Durant la version bêta, l’analyse de Ruby est moins complète que l’analyse CodeQL des autres langages.
  • Utilisez javascript pour analyser le code écrit en JavaScript, TypeScript ou les deux.

Pour plus d’informations, consultez la documentation disponible sur le site web de CodeQL : « Langages et frameworks pris en charge ».

À propos des requêtes CodeQL

Les experts GitHub, les chercheurs en sécurité et les contributeurs de la communauté écrivent et gèrent les requêtes CodeQL par défaut utilisées pour l’code scanning. Les requêtes sont régulièrement mises à jour pour améliorer l’analyse et réduire les faux résultats positifs. Les requêtes étant open source, vous pouvez les voir et y contribuer dans le dépôt github/codeql. Pour plus d’informations, consultez CodeQL sur le site web CodeQL. Vous pouvez également écrire vos propres requêtes. Pour plus d’informations, consultez « À propos des requêtes CodeQL » dans la documentation CodeQL.

Si vous analysez votre code avec la configuration avancé ou un système CI externe, vous pouvez exécuter des requêtes supplémentaires dans le cadre de votre analyse. Les requêtes supplémentaires que vous souhaitez exécuter doivent faire partie d’un pack QL dans un dépôt. Les requêtes doivent dépendre uniquement des bibliothèques standard (c’est-à-dire des bibliothèques référencées par une instruction import LANGUAGE dans votre requête), ou des bibliothèques présentes dans le même pack QL que la requête.