Skip to main content

Requêtes Python pour l’analyse CodeQL

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

Qui peut utiliser cette fonctionnalité ?

Code scanning est disponible pour tous les dépôts publics sur GitHub.com. Code scanning est également disponible pour des dépôts privés appartenant à des organisations qui utilisent GitHub Enterprise Cloud et ont une licence pour GitHub Advanced Security. Pour plus d’informations, consultez « À propos de GitHub Advanced Security ».

CodeQL inclut de nombreuses requêtes pour l’analyse du code Python. 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 Python

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.

Remarque : la correction automatique de GitHub pour code scanning est en phase bêta. Les fonctionnalités et la documentation sont sujettes à modification. Au cours de cette phase, la fonctionnalité est limitée aux alertes JavaScript, TypeScript, Python et Java identifiées par CodeQL. Si vous avez un compte d’entreprise et que vous utilisez GitHub Advanced Security, votre entreprise a accès à la version bêta.

Nom de la requêteCWE connexesPar défautÉtenduCorrection automatique
Acceptation des clés hôtes SSH inconnues lors de l’utilisation de Paramiko295
Mauvais filtrage HTML regexp116, 020, 185, 186
Liaison d’un socket à toutes les interfaces réseau200
Effacer la journalisation de texte des informations sensibles312, 359, 532
Stockage de texte en clair des informations sensibles312, 315, 359
Injection de code094, 095, 116
Protection CSRF affaiblie ou désactivée352
La version par défaut de SSL/TLS peut être non sécurisée327
Désérialisation des données contrôlées par l’utilisateur502
L’application Flask est exécutée en mode débogage215, 489
Falsification de requête côté serveur complet918
Expression régulière incomplète pour les noms d'hôte020
Assainissement de sous-chaîne d’URL incomplet20
Expression régulière inefficace1 333, 730, 400
Exposition des informations par le biais d’une exception209, 497
Fichier temporaire non sécurisé377
Requête LDAP créée à partir de sources contrôlées par l’utilisateur090
Injection NoSQL943
Plage d’expressions régulières trop permissive020
Contournement d’autorisation PAM en raison d’une utilisation incorrecte285
Expression régulière polynôme utilisée sur des données non contrôlées1 333, 730, 400
Scripting inter-site côté serveur réfléchi079, 116
Injection d’expressions régulières730, 400
Requête SQL créée à partir de sources contrôlées par l’utilisateur089
Ligne de commande non contrôlée078, 088
Données non contrôlées utilisées dans l'expression de chemin d'accès022, 023, 036, 073, 099
Redirection d’URL à partir d’une source distante601
Utilisation d’un algorithme de cryptage rompu ou faible327
Utilisation d’un algorithme de hachage de chiffrement défectueux ou faible sur des données sensibles327, 328, 916
Utilisation de la version SSL/TLS non sécurisée327
Utilisation d’une clé de chiffrement faible326
Extension d’entité externe XML611, 827
Extension d’entité interne XML776, 400
Requête XPath créée à partir de sources contrôlées par l’utilisateur643
Écriture de fichier arbitraire pendant l’extraction de tarfile022
Identifiants codés en dur259, 321, 798
Création de gabarits Jinja2 avec autoescape=False079
Injection de journaux d’activité117
Autorisations de fichier trop permissives732
Falsification de requête côté serveur partiel918
Requête sans validation de certificat295
Commande shell non sécurisée construite à partir d’une entrée de bibliothèque078, 088, 073