Gros plan sur les mains d'un développeur devant un écran affichant du code, dans une ambiance nocturne et technique.

CodeQL 2.27.3 intègre Python 3.15 et extensions JSON

La détection des failles de sécurité dans les dépôts de code passe par l’actualisation de CodeQL, le moteur d’analyse statique derrière le scan de code de GitHub. La version 2.27.3, récemment publiée, apporte des ajouts substantiels, notamment en renforçant la compréhension des syntaxes spécifiques et en ouvrant des portes pour des analyses plus pointues.

Pour les développeurs travaillant avec Python, l’actualisation est significative : l’extracteur prend désormais en charge les spécificités de Python 3.15, y compris les identifiants Unicode 17 et l’utilisation du signe plus unaire dans les patrons de littéral match. Il y a également un travail sur le flux de données, avec le support des constructions frozendict et des built-ins sentinel.

Au-delà de Python, l’évolution touche d’autres domaines. En C/C++, l’ajout du support pour les entiers précis en bits de C23, notés _BitInt(N), permet des vérifications de sécurité beaucoup plus granulaires.

Illustration vectorielle représentant un bloc de code analysé par une loupe numérique, avec des marques de validation.

Adapter l’analyse aux nouvelles structures de données

Un changement notable concerne la manière dont CodeQL interprète les fichiers annexes. Les extensions de données, qui complètent l’analyse des fichiers principaux, supportent désormais la syntaxe JSON, parallèlement aux structures YAML habituelles. Cela signifie que les analyses peuvent maintenant traiter des données structurées de manière plus riche, un avantage non négligeable pour modéliser des scénarios complexes. De plus, une fonctionnalité optionnelle de modélisation des menaces par IA est disponible pour les données générées par des grands modèles de langage (LLM), bien qu’elle requière la définition de sources personnalisées.

Ce niveau de granularité est d’ailleurs en cours de transposition vers l’environnement d’entreprise. Selon docs.github.com, les fonctionnalités de scan de code sur GitHub Enterprise Server (GHES) peuvent être configurées pour intégrer soit l’analyse CodeQL, soit des outils tiers. Si l’on souhaite utiliser CodeQL via GitHub Actions sur une appliance GHES, il faut s’assurer que les runners auto-hébergés sont configurés correctement, notamment pour posséder les dépendances logicielles requises, comme Python 3 pour analyser du code Python. Si l’environnement est déconnecté d’Internet, un outil de synchronisation devient nécessaire pour installer les paquets d’analyse CodeQL en local.

Quand le CLI prend le relais

L’écosystème propose des alternatives. Si l’orchestration via GitHub Actions ne convient pas, le CLI de CodeQL permet d’analyser des bases de code sur n’importe quelle machine, même en dehors de l’infrastructure CI/CD de GitHub. Ce CLI intègre directement les améliorations de la version 2.27.3, assurant aux équipes de conserver leur rigueur d’analyse sans dépendre entièrement de la plateforme.

Ces avancées montrent une tendance claire : le scan de code ne se contente plus de pointer du doigt les failles évidentes. Il se spécialise, s’adaptant aux dernières évolutions des langages (Python 3.15, C23) et aux formats de données modernes (JSON), forçant les équipes de sécurité à affiner leurs schémas de modélisation de menaces en conséquence.

Sources