CodeQL 2.27.2 apprend à analyser les regex en C++ et améliore l'analyse de Go, Rust et JavaScript

Une nouvelle version de CodeQL 2.27.2, l'outil d'analyse statique de GitHub code scanning, vient de sortir. Cette version ajoute un analyseur d'expressions régulières basé sur la grammaire ECMAScript pour C++, et met à jour le support de Go, Rust, JavaScript et TypeScript. La Default suite comprend désormais 498 requêtes, couvrant 170 CWE ; l'Extended suite ajoute 131 requêtes supplémentaires pour 32 CWE additionnels. • C++ : analyseur de regex std::regex, modèles d'injection SQL pour l'API C de Comdb2 • Rust et Go : support de native-tls, async-native-tls, tokio-native-tls, github.com/coder/websocket • JavaScript/TypeScript : directives "use workflow" et "use step" du Workflow SDK

Traité par IA depuis GitHub Changelog ; édité par Hamidun News
CodeQL 2.27.2 apprend à analyser les regex en C++ et améliore l'analyse de Go, Rust et JavaScript
Source : GitHub Changelog. Collage: Hamidun News.
Écouter l'article
Fiche synthèse et chiffres clés
ParamètreDonnées
Source primaireGitHub Changelog ↗
Rédacteur en chef
C++analyseur de regex std::regex, modèles d'injection SQL pour l'API C de Comdb2
Rust et Gosupport de native-tls, async-native-tls, tokio-native-tls, github.com/coder/websocket
JavaScript/TypeScriptdirectives "use workflow" et "use step" du Workflow SDK

La version CodeQL 2.27.2 étend les capacités de l'analyseur statique GitHub code scanning, en ajoutant un analyseur d'expressions régulières pour C++ et en améliorant le support de Go, Rust et JavaScript/TypeScript. L'outil continue d'évoluer vers une couverture élargie des vulnérabilités et une meilleure précision de l'analyse des flux de données.

La Default suite compte désormais 498 requêtes de sécurité, couvrant 170 types de vulnérabilités (CWE). L'Extended suite ajoute 131 requêtes supplémentaires pour 32 types de vulnérabilités additionnels.

Support étendu des langages

C/C++

Un analyseur d'expressions régulières utilisant la grammaire ECMAScript dans std::regex a été ajouté. Cela étend la capacité à détecter les problèmes de sécurité liés au traitement des expressions régulières.

Pour les injections SQL, des sink models ont été ajoutés pour l'API C de Comdb2. Les flow summaries pour les codecs Bloomberg BDE et les désérialiseurs de flux d'octets ont été améliorés, ce qui renforce la qualité de l'analyse des flux de données à travers des bibliothèques populaires.

Go

CodeQL modélise désormais github.com/coder/websocket en plus de nhooyr.io/websocket, permettant de détecter des vulnérabilités dans le code des deux variantes de bibliothèques WebSocket.

Rust

L'extracteur Rust a ajouté le support des classes AnyAttr et DocComment, améliorant l'analyse des attributs et de la documentation.

Le traitement des blocs async avec await a été amélioré, permettant un meilleur suivi des flux de données dans le code asynchrone. Des flow summaries ont été ajoutés pour native-tls, async-native-tls et tokio-native-tls.

JavaScript/TypeScript

CodeQL reconnaît désormais les directives du Workflow SDK : "use workflow" et "use step".

Le suivi des route-handlers Hapi et des request-inputs a été amélioré via les custom route-registration helpers et les fonctions d'ordre supérieur, facilitant la détection des vulnérabilités dans les applications web.

Changement critique : macOS 27 et Xcode 27

Apple a cessé de distribuer les binaires multi-architecture (x86-64/arm64) requis par CodeQL pour l'analyse tracée (traced analysis). Sur macOS 27 (avec n'importe quelle version de Xcode) et macOS 26 (avec Xcode 27), les modes autobuild et manual build ne seront pas disponibles pour les langages compilés.

Recommandation : utilisez au maximum macOS 26 et Xcode 26 pour ces modes. GitHub travaille à l'amélioration du build mode none sur macOS.

Changements dans les requêtes et le CLI

Mises à jour de requêtes (C# et GitHub Actions)

La requête cs/web/missing-x-frame-options reconnaît désormais les en-têtes de réponse ASP.NET Core ainsi que les directives Content Security Policy frame-ancestors comme protection contre le clickjacking.

La requête cs/web/xss ne traite plus les valeurs d'attributs des tag-helpers Razor avec WriteLiteral comme des sinks XSS.

Dans la requête actions/unpinned-tag, il est désormais possible de retirer des owners du trusted set avec le préfixe ! (par exemple !github), permettant de détecter les tags non épinglés d'owners first-party.

Améliorations du CodeQL CLI

L'interface en ligne de commande affiche désormais des erreurs claires pour les valeurs qlpack et from invalides, au lieu de planter.

Les entiers des data-extensions YAML hors de la plage signed 32-bit sont désormais rejetés, et non plus tronqués silencieusement.

Les messages d'erreur et d'avertissement sur stderr reçoivent désormais les préfixes ERROR: et WARNING:. La sortie structurée (logs et SARIF) reste inchangée.

La commande codeql query compile accepte désormais --dil-constants avec --dump-dil, pour inclure les constant tuples optimisés dans le DIL émis.

Les commandes chargeant des data extensions n'affichent un avertissement que lorsqu'aucun motif de la dataExtensions list ne correspond aux fichiers.

Breaking change dans la Go library

Le control-flow graph (CFG) pour Go utilise désormais une shared CFG library, incluant des nodes supplémentaires pour les assignments, parameters, results, range statements et deferred calls. Les nodes inaccessibles depuis le point d'entrée sont exclus.

Cela affecte les nodes, edges, locations, représentations textuelles et boundaries des blocs de base ; les requêtes s'appuyant sur l'ancienne représentation nécessitent donc une mise à jour.

Changements concrets :

• Supprimé : BasicBlocks::Cfg • Ajouté : ControlFlow::EntryNode, ControlFlow::ExitNode, SwitchStmt.getExpr • Déprécié : IfStmt.getCond → IfStmt.getCondition • Types de retour modifiés : IfStmt.getThen et LoopStmt.getBody retournent désormais Stmt • Consolidé : plusieurs IR instruction classes

GitHub déploie automatiquement les nouvelles versions de CodeQL pour github.com code scanning. Les futures versions de GitHub Enterprise Server (GHES) incluront également les fonctionnalités de CodeQL 2.27.2. Si une version plus ancienne de GHES est utilisée, la version de CodeQL peut être mise à jour manuellement.

Dossier

Questions clés sur cet article

Que sait-on sur Support étendu des langages ?

C/C++ Un analyseur d'expressions régulières utilisant la grammaire ECMAScript dans std::regex a été ajouté. Cela étend la capacité à détecter les problèmes de sécurité liés au traitement des expressions régulières. Pour les injections SQL, des sink models ont été ajoutés pour l'API C de Comdb2. Les flow summaries pour les codecs Bloomberg BDE et les désérialiseurs de flux d'octets ont été améliorés, ce qui renforce la qualité de l'analyse des flux de données à travers des bibliothèques populaires. Go CodeQL modélise désormais github.com/coder/websocket en plus de nhooyr.io/

Que sait-on sur Changement critique : macOS 27 et Xcode 27 ?

Apple a cessé de distribuer les binaires multi-architecture (x86-64/arm64) requis par CodeQL pour l'analyse tracée (traced analysis). Sur macOS 27 (avec n'importe quelle version de Xcode) et macOS 26 (avec Xcode 27), les modes autobuild et manual build ne seront pas disponibles pour les langages compilés. Recommandation : utilisez au maximum macOS 26 et Xcode 26 pour ces modes. GitHub travaille à l'amélioration du build mode none sur macOS.

Que sait-on sur Changements dans les requêtes et le CLI ?

Mises à jour de requêtes (C# et GitHub Actions) La requête cs/web/missing-x-frame-options reconnaît désormais les en-têtes de réponse ASP.NET Core ainsi que les directives Content Security Policy frame-ancestors comme protection contre le clickjacking. La requête cs/web/xss ne traite plus les valeurs d'attributs des tag-helpers Razor avec WriteLiteral comme des sinks XSS. Dans la requête actions/unpinned-tag, il est désormais possible de retirer des owners du trusted set avec le préfixe ! (par exemple !github), permettant de détecter les tags non épinglés d'owners first-par

ZK
Zhemal Khamidun — CPO d'Alpina Digital, product manager d'AlpinaGPT. Conçoit des produits IA depuis 2019. Hamidun News est un projet personnel devenu un agrégateur en production avec plus de 6 000 lecteurs.
✦ Hands-On AI Engineering · Hamidun Academy

Build & Ship Production AI Agents Without Boilerplate Code

Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.

Start 72h Free Trial →Vibe-Coding Intensive
Qu'en pensez-vous ?
Chargement des commentaires…