Skip to main content

Requêtes C# pour l’analyse CodeQL

Explorez les requêtes que CodeQL utilise pour analyser le code écrit en C# et ce lorsque vous sélectionnez la suite de requêtes default ou security-extended.

Qui peut utiliser cette fonctionnalité ?

CodeQL est disponible pour les types de référentiels suivants :

CodeQL inclut de nombreuses requêtes pour l’analyse du code C#. Toutes les requêtes de la suite de requêtes default sont exécutées par défaut. Si vous choisissez d’utiliser la suite de requêtes security-extended, des requêtes supplémentaires sont exécutées. Pour plus d’informations, consultez « Suites de requêtes CodeQL ».

Requêtes intégrées pour l’analyse C#

Ce tableau répertorie les requêtes disponibles avec la dernière version de l’action CodeQL et CodeQL CLI. Pour plus d’informations, consultez les journaux des modifications CodeQL dans le site de documentation de CodeQL.

Nom de la requêteCWE associésDefaultÉtendueCorrectif automatique Copilot
L'attribut « requireSSL » n'est pas défini sur true319, 614
Accès arbitraire aux fichiers lors de l'extraction d'archives (« Zip Slip »)022
Le fichier de configuration ASP.NET active la navigation des répertoires5:48
Injection de chemin d'assembly1:14
Stockage en clair d'informations sensibles312, 315, 359
          [L’attribut « HttpOnly » de cookie n’est pas défini sur true](https://codeql.github.com/codeql-query-help/csharp/cs-web-cookie-httponly-not-set/) | 1004 | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Included" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-check" aria-label="Included" role="img"><path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path></svg> | <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-x" aria-label="Not included" role="img"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg> |

| L’attribut « Secure » du cookie n’est pas défini sur true | 319, 614 | | | | | Sécurité des cookies : domaine trop large | 287 | | | | | Sécurité des cookies : chemin trop large | 287 | | | | | Sécurité des cookies : cookie persistant | 5:39 | | | | | La création d'un binaire de débogage ASP.NET peut révéler des informations sensibles | 011, 532 | | | | | Script intersites | 079, 116 | | | | | Déni de service dû à la comparaison d'entrées utilisateur avec des regex coûteuses | 1333, 730, 400 | | | | | Désérialisation de données non fiables | 5:02 | | | | | Délégué désérialisé | 5:02 | | | | | Chiffrement utilisant ECB | 327 | | | | | Exposition d'informations privées | 3:59 | | | | | Échec de l'abandon de session | 384 | | | | | Vérification des en-têtes désactivée | 113 | | | | | Contrôle inadéquat de la génération de code | 094, 095, 096 | | | | | Exposition d'informations via une exception | 209, 497 | | | | | Exposition d'informations via des données transmises | 201 | | | | | Aléa non sécurisé | 338 | | | | | Requête LDAP construite à partir de sources contrôlées par l'utilisateur | 090 | | | | | Entrées de journal créées à partir d'entrées utilisateur | 117 | | | | | Absence de validation du token de demande intersites | 3:52 | | | | | Gestionnaire global d'erreurs manquant | 012, 248 | | | | | En-tête HTTP X-Frame-Options manquant | 451, 829 | | | | | Validation des requêtes de page désactivée | 016 | | | | | Injection d'expression régulière | 730, 400 | | | | | Injection de ressource | 099 | | | | | Requête SQL construite à partir de sources contrôlées par l'utilisateur | 089 | | | | | Ligne de commande non contrôlée | 078, 088 | | | | | Données non contrôlées utilisées dans une expression de chemin | 022, 023, 036, 073, 099 | | | | | Chaîne de format non contrôlée | 1:34 | | | | | XML non fiable lu de manière non sécurisée | 611, 827, 776 | | | | | Arithmétique de pointeurs locaux non validée | 119, 120, 122, 788 | | | | | Redirection d'URL depuis une source distante | 601 | | | | | Contournement d'une méthode sensible contrôlé par l'utilisateur | 807, 247, 350 | | | | | Chiffrement faible | 327 | | | | | Chiffrement faible : padding RSA inadéquat | 327, 780 | | | | | Chiffrement faible : taille de clé insuffisante | 326 | | | | | Injection XML | 091 | | | | | Injection XPath | 643 | | | | | Mot de passe vide dans le fichier de configuration | 258, 862 | | | | | Référence directe d'objet non sécurisée | 6:39 | | | | | Connexion SQL non sécurisée | 327 | | | | | Contrôle d'accès au niveau des fonctions manquant | 285, 284, 862 | | | | | Validation XML manquante | 112 | | | | | Contournement de la vérification de sérialisation | 020 | | | | | Capture non thread-safe d'un objet ICryptoTransform | 362 | | | | | Utilisation non thread-safe d'un champ statique ICryptoTransform | 362 | | | | | Utilisation du téléversement de fichiers | 434 | | | | | Masquage de valeur | 348 | | | | | Masquage de valeur : variable serveur | 348 | | | |