{"id":5567,"date":"2025-07-24T15:13:19","date_gmt":"2025-07-24T15:13:19","guid":{"rendered":"https:\/\/techhub.saworks.io\/docs\/tutoriel-github\/securite-avancee-sur-github-partie-2-sur-2\/comprendre-les-resultats-de-codeql\/"},"modified":"2025-07-24T15:34:49","modified_gmt":"2025-07-24T15:34:49","slug":"comprendre-les-resultats-de-codeql","status":"publish","type":"docs","link":"https:\/\/techhub.saworks.io\/fr\/docs\/tutoriel-github\/securite-avancee-sur-github-partie-2-sur-2\/comprendre-les-resultats-de-codeql\/","title":{"rendered":"Comprendre les r\u00e9sultats de CodeQL"},"content":{"rendered":"\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>Dans les unit\u00e9s pr\u00e9c\u00e9dentes, vous avez cr\u00e9\u00e9 une base de donn\u00e9es et analys\u00e9 les fichiers extraits de votre code. Vous pouvez maintenant consulter les r\u00e9sultats et d\u00e9terminer s\u2019il existe des vuln\u00e9rabilit\u00e9s de s\u00e9curit\u00e9 \u00e0 corriger.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Afficher les r\u00e9sultats de l\u2019analyse CodeQL<\/h3>\n\n\n\n<p>Les r\u00e9sultats des requ\u00eates interpr\u00e9t\u00e9es sont automatiquement affich\u00e9s dans le code source via l\u2019extension&nbsp;<strong>CodeQL pour Visual Studio Code<\/strong>.<br>Les r\u00e9sultats g\u00e9n\u00e9r\u00e9s par le&nbsp;<strong>CLI CodeQL<\/strong>&nbsp;peuvent \u00eatre produits dans plusieurs formats, compatibles avec divers outils.<\/p>\n\n\n\n<p>Vous pouvez contr\u00f4ler la mani\u00e8re dont les r\u00e9sultats sont affich\u00e9s dans le code source en modifiant l\u2019instruction&nbsp;<strong><code>select<\/code><\/strong>&nbsp;d\u2019une requ\u00eate. Cela permet de rendre les r\u00e9sultats plus clairs et compr\u00e9hensibles pour les autres utilisateurs pendant le d\u00e9veloppement de la requ\u00eate.<\/p>\n\n\n\n<p>Lorsque vous \u00e9crivez vos propres requ\u00eates dans la console de requ\u00eates ou dans l\u2019extension CodeQL pour VS Code, il n\u2019y a aucune contrainte sur ce que vous pouvez s\u00e9lectionner.<\/p>\n\n\n\n<p>Cependant, si vous souhaitez utiliser une requ\u00eate pour g\u00e9n\u00e9rer des&nbsp;<strong>alertes dans l\u2019analyse de code GitHub<\/strong>&nbsp;ou produire des r\u00e9sultats valides via le CLI CodeQL, vous devez formater l\u2019instruction&nbsp;<strong><code>select<\/code><\/strong>&nbsp;selon les exigences attendues.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Agir sur les alertes d\u2019analyse de code<\/h3>\n\n\n\n<p>Vous pouvez configurer l\u2019analyse de code pour v\u00e9rifier le code d\u2019un d\u00e9p\u00f4t. Vous pouvez utiliser :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>l\u2019analyse CodeQL par d\u00e9faut,<\/li>\n\n\n\n<li>une analyse non-Microsoft,<\/li>\n\n\n\n<li>ou d\u2019autres types d\u2019analyse.<\/li>\n<\/ul>\n\n\n\n<p>Les alertes g\u00e9n\u00e9r\u00e9es sont affich\u00e9es c\u00f4te \u00e0 c\u00f4te dans le d\u00e9p\u00f4t.<\/p>\n\n\n\n<p>L\u2019analyse CodeQL par d\u00e9faut de GitHub peut inclure plus de propri\u00e9t\u00e9s dans les alertes que les outils non-Microsoft ou les requ\u00eates personnalis\u00e9es.<br>Dans un workflow par d\u00e9faut, l\u2019analyse de code s\u2019ex\u00e9cute p\u00e9riodiquement sur la branche principale et lors des&nbsp;<strong>pull requests<\/strong>.<\/p>\n\n\n\n<p>Chaque alerte comprend les informations suivantes :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le\u00a0<strong>probl\u00e8me d\u00e9tect\u00e9<\/strong>\u00a0dans le code et le\u00a0<strong>nom de l\u2019outil<\/strong>\u00a0qui l\u2019a identifi\u00e9.<\/li>\n\n\n\n<li>La\u00a0<strong>ligne de code<\/strong>\u00a0ayant d\u00e9clench\u00e9 l\u2019alerte.<\/li>\n\n\n\n<li>Les\u00a0<strong>propri\u00e9t\u00e9s de l\u2019alerte<\/strong>, comme la gravit\u00e9.<\/li>\n\n\n\n<li>La\u00a0<strong>s\u00e9v\u00e9rit\u00e9 en mati\u00e8re de s\u00e9curit\u00e9<\/strong>.<\/li>\n\n\n\n<li>Le\u00a0<strong>moment o\u00f9 le probl\u00e8me a \u00e9t\u00e9 introduit<\/strong>.<\/li>\n\n\n\n<li>La\u00a0<strong>nature du probl\u00e8me<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p>Lorsque CodeQL identifie une alerte, il fournit \u00e9galement des&nbsp;<strong>informations sur la mani\u00e8re de corriger le probl\u00e8me<\/strong>.<br>De plus, l\u2019analyse CodeQL peut d\u00e9tecter des&nbsp;<strong>probl\u00e8mes de flux de donn\u00e9es<\/strong>&nbsp;dans votre code.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"907\" height=\"471\" data-src=\"https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/code-scanning-alert-screenshot.png\" alt=\"\" class=\"wp-image-5572 lazyload\" data-srcset=\"https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/code-scanning-alert-screenshot.png 907w, https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/code-scanning-alert-screenshot-300x156.png 300w, https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/code-scanning-alert-screenshot-768x399.png 768w\" data-sizes=\"(max-width: 907px) 100vw, 907px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 907px; --smush-placeholder-aspect-ratio: 907\/471;\" \/><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Alertes de flux de donn\u00e9es (Data-flow alerts)<\/h3>\n\n\n\n<p>L\u2019analyse de&nbsp;<strong>flux de donn\u00e9es<\/strong>&nbsp;permet de d\u00e9tecter des probl\u00e8mes de s\u00e9curit\u00e9 potentiels dans le code, notamment :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>L\u2019utilisation de donn\u00e9es d\u2019une mani\u00e8re qui compromet la s\u00e9curit\u00e9.<\/li>\n\n\n\n<li>Le passage d\u2019arguments dangereux \u00e0 des fonctions.<\/li>\n\n\n\n<li>La fuite d\u2019informations sensibles.<\/li>\n<\/ul>\n\n\n\n<p>GitHub vous montre comment les donn\u00e9es circulent dans le code lorsque l\u2019analyse de code signale des alertes de flux de donn\u00e9es. Ces alertes vous aident \u00e0 identifier les zones de votre code qui peuvent&nbsp;<strong>fuiter des informations sensibles<\/strong>, ce qui peut vous permettre de rep\u00e9rer les&nbsp;<strong>points d\u2019entr\u00e9e potentiels pour des attaques<\/strong>&nbsp;malveillantes.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Niveaux de gravit\u00e9<\/h3>\n\n\n\n<p>Tout r\u00e9sultat d\u2019analyse de code ayant une gravit\u00e9 de&nbsp;<strong>Erreur (Error)<\/strong>&nbsp;entra\u00eene par d\u00e9faut l\u2019\u00e9chec du contr\u00f4le (check failure).<br>Les niveaux de gravit\u00e9 des alertes sont :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Error<\/strong>\u00a0(Erreur)<\/li>\n\n\n\n<li><strong>Warning<\/strong>\u00a0(Avertissement)<\/li>\n\n\n\n<li><strong>Note<\/strong>\u00a0(Remarque)<\/li>\n<\/ul>\n\n\n\n<p>Vous pouvez d\u00e9finir \u00e0 partir de quel niveau de gravit\u00e9 une&nbsp;<strong>pull request<\/strong>&nbsp;doit \u00e9chouer si elle d\u00e9clenche une alerte d\u2019analyse de code.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Niveaux de gravit\u00e9 en mati\u00e8re de s\u00e9curit\u00e9<\/h3>\n\n\n\n<p>Les requ\u00eates de s\u00e9curit\u00e9 g\u00e9n\u00e9r\u00e9es par l\u2019analyse de code affichent des&nbsp;<strong>niveaux de gravit\u00e9 de s\u00e9curit\u00e9<\/strong>&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Critique (Critical)<\/strong><\/li>\n\n\n\n<li><strong>\u00c9lev\u00e9e (High)<\/strong><\/li>\n\n\n\n<li><strong>Moyenne (Medium)<\/strong><\/li>\n\n\n\n<li><strong>Faible (Low)<\/strong><\/li>\n<\/ul>\n\n\n\n<p>GitHub utilise les donn\u00e9es du&nbsp;<strong>CVSS (Common Vulnerability Scoring System)<\/strong>&nbsp;pour calculer la gravit\u00e9 de s\u00e9curit\u00e9 d\u2019une alerte.<\/p>\n\n\n\n<p>Par d\u00e9faut, toute alerte ayant une gravit\u00e9&nbsp;<strong>Critique<\/strong>&nbsp;ou&nbsp;<strong>\u00c9lev\u00e9e<\/strong>&nbsp;entra\u00eene l\u2019\u00e9chec du contr\u00f4le.<br>Vous pouvez personnaliser le niveau de gravit\u00e9 de s\u00e9curit\u00e9 \u00e0 partir duquel une alerte doit provoquer un \u00e9chec.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Fermer une alerte d\u2019analyse de code<\/h3>\n\n\n\n<p>Vous avez deux fa\u00e7ons de fermer une alerte :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Corriger le probl\u00e8me<\/strong>\u00a0dans le code.<\/li>\n\n\n\n<li><strong>Ignorer ou supprimer<\/strong>\u00a0l\u2019alerte.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Ignorer une alerte d\u2019analyse de code<\/h3>\n\n\n\n<p>Ignorer une alerte signifie que vous choisissez de&nbsp;<strong>ne pas la corriger<\/strong>.<br>Par exemple, vous pouvez ignorer une alerte li\u00e9e \u00e0 du code utilis\u00e9 uniquement pour les tests, ou si l\u2019effort n\u00e9cessaire pour corriger le probl\u00e8me d\u00e9passe les b\u00e9n\u00e9fices attendus.<\/p>\n\n\n\n<p>Vous pouvez ignorer une alerte depuis les&nbsp;<strong>annotations dans le code<\/strong>&nbsp;ou depuis la&nbsp;<strong>liste r\u00e9capitulative<\/strong>&nbsp;dans l\u2019onglet&nbsp;<strong>S\u00e9curit\u00e9<\/strong>&nbsp;du d\u00e9p\u00f4t.<\/p>\n\n\n\n<p>Pour ignorer une alerte depuis la liste :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cliquez sur le menu\u00a0<strong>Ignorer l\u2019alerte (Dismiss alert)<\/strong>.<\/li>\n\n\n\n<li>S\u00e9lectionnez une\u00a0<strong>raison<\/strong>\u00a0pour l\u2019ignorer.<\/li>\n\n\n\n<li>Cliquez sur le bouton\u00a0<strong>Ignorer l\u2019alerte<\/strong>.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"516\" height=\"292\" data-src=\"https:\/\/techhub.saworks.io\/wp-content\/uploads\/2025\/07\/code-scanning-alert-dismissal.gif\" alt=\"\" class=\"wp-image-5570 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 516px; --smush-placeholder-aspect-ratio: 516\/292;\" \/><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Lorsque vous ignorez une alerte :<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>L\u2019alerte est ignor\u00e9e\u00a0<strong>dans toutes les branches<\/strong>.<\/li>\n\n\n\n<li>Elle est\u00a0<strong>retir\u00e9e du nombre d\u2019alertes actives<\/strong>\u00a0pour votre projet.<\/li>\n\n\n\n<li>Elle est d\u00e9plac\u00e9e dans la\u00a0<strong>liste des alertes ferm\u00e9es<\/strong>\u00a0dans le r\u00e9sum\u00e9. Vous pouvez la\u00a0<strong>rouvrir<\/strong>\u00a0\u00e0 partir de l\u00e0 si n\u00e9cessaire.<\/li>\n\n\n\n<li>La\u00a0<strong>raison de la fermeture<\/strong>\u00a0est enregistr\u00e9e.<\/li>\n\n\n\n<li>Lors du prochain scan,\u00a0<strong>le m\u00eame code ne g\u00e9n\u00e9rera pas \u00e0 nouveau l\u2019alerte<\/strong>.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Supprimer une alerte d\u2019analyse de code<\/h3>\n\n\n\n<p>Vous pouvez&nbsp;<strong>supprimer une alerte<\/strong>&nbsp;si vous avez les&nbsp;<strong>droits administrateur<\/strong>&nbsp;sur le d\u00e9p\u00f4t. La suppression est utile dans les cas suivants :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Vous avez mis en place un outil d\u2019analyse de code, mais vous d\u00e9cidez ensuite de le retirer.<\/li>\n\n\n\n<li>Vous avez configur\u00e9 l\u2019analyse CodeQL avec un ensemble de requ\u00eates plus large que ce que vous souhaitez conserver.<\/li>\n\n\n\n<li>Vous avez supprim\u00e9 certaines requ\u00eates de l\u2019outil.<\/li>\n\n\n\n<li>Vous souhaitez\u00a0<strong>nettoyer les r\u00e9sultats<\/strong>\u00a0de l\u2019analyse de code.<\/li>\n<\/ul>\n\n\n\n<p>Vous pouvez supprimer des alertes depuis la&nbsp;<strong>liste r\u00e9capitulative<\/strong>&nbsp;dans l\u2019onglet&nbsp;<strong>S\u00e9curit\u00e9<\/strong>.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Lorsque vous supprimez une alerte :<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>L\u2019alerte est supprim\u00e9e\u00a0<strong>dans toutes les branches<\/strong>.<\/li>\n\n\n\n<li>Elle est\u00a0<strong>retir\u00e9e du nombre d\u2019alertes actives<\/strong>\u00a0pour votre projet.<\/li>\n\n\n\n<li>Elle\u00a0<strong>n\u2019appara\u00eet pas<\/strong>\u00a0dans la liste des alertes ferm\u00e9es.<\/li>\n\n\n\n<li><strong>L\u2019alerte r\u00e9appara\u00eetra<\/strong>\u00a0dans les r\u00e9sultats d\u2019analyse si le code concern\u00e9 reste inchang\u00e9 et que le m\u00eame outil d\u2019analyse est relanc\u00e9 sans modification de configuration.<\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Dans les unit\u00e9s pr\u00e9c\u00e9dentes, vous avez cr\u00e9\u00e9 une base de donn\u00e9es et analys\u00e9 les fichiers extraits de votre code. Vous pouvez maintenant consulter [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":5546,"menu_order":5,"comment_status":"closed","ping_status":"closed","template":"","doc_tag":[],"doc_badge":[],"class_list":["post-5567","docs","type-docs","status-publish","hentry"],"author_avatar":"https:\/\/secure.gravatar.com\/avatar\/6a70e7c73db9f245e650948d09d74f61?s=96&d=mm&r=g","author_name":"Annick N'dri","_links":{"self":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/5567"}],"collection":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/comments?post=5567"}],"version-history":[{"count":0,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/5567\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/5546"}],"wp:attachment":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/media?parent=5567"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/doc_tag?post=5567"},{"taxonomy":"doc_badge","embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/doc_badge?post=5567"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}