Skip to main content

Explorer les flux de données à l’aide de requêtes de chemin

Vous pouvez exécuter des requêtes CodeQL dans Visual Studio Code afin de vous aider à suivre le flux des données au sein d’un programme et à mettre en évidence les zones susceptibles de constituer des vulnérabilités de sécurité.

À propos des requêtes de chemin

Une requête de chemin est une requête CodeQL dotée de la propriété @kind path-problem. Vous pouvez en trouver un certain nombre dans les bibliothèques standard CodeQL.

Vous pouvez exécuter les requêtes de chemin standard CodeQL afin d’identifier des vulnérabilités de sécurité et examiner manuellement les résultats. Pour en savoir plus sur la manière dont CodeQL analyse les flux de données, consultez la section À propos de l’analyse des flux de données dans la documentation CodeQL.

Une fois que vous maîtrisez l’analyse des flux de données et les requêtes existantes, vous pouvez écrire vos propres requêtes de chemin en CodeQL. Pour plus d’informations, consultez Étapes suivantes.

Exécuter des requêtes de chemin localement dans VS Code

  1. Ouvrez une requête de chemin dans VS Code.
  2. Cliquez avec le bouton droit dans la fenêtre où la requête est ouverte, puis sélectionnez CodeQL : Exécuter la requête sur la base de données sélectionnée. Vous pouvez également exécuter cette action depuis la palette de commandes de VS Code Command Palette.
  3. Une fois l’exécution de la requête terminée, vous pouvez consulter les résultats dans la vue « Résultats » (sous alerts dans le menu déroulant). Chaque résultat de requête décrit le flux d’informations entre une source et un récepteur.
  4. Développez le résultat pour afficher les différentes étapes suivies par les données.
  5. Cliquez sur chaque étape pour y accéder dans le code source et approfondir l’analyse du problème.

Étapes suivantes

Lorsque vous êtes prêt à exécuter une requête de chemin à grande échelle, vous pouvez utiliser la vue « Dépôts d’analyse de variantes » pour exécuter la requête sur jusqu’à 1 000 dépôts sur GitHub.com. Pour plus d’informations, consultez « Exécution de requêtes CodeQL à grande échelle avec l’analyse de variantes multi-référentiels ».

Pour obtenir des informations sur l’utilisation du format et des métadonnées appropriés pour vos propres requêtes de chemin, consultez la section Création de requêtes de chemin dans la documentation CodeQL La documentation CodeQL contient également des informations détaillées sur la manière de définir de nouvelles sources et de nouveaux puits, ainsi que des modèles et des exemples montrant comment étendre les bibliothèques standard CodeQL afin de les adapter à votre analyse.