Skip to main content

Enterprise Server 3.22 est actuellement disponible en tant que version candidate.

Requêtes JavaScript et TypeScript pour l'analyse CodeQL

Explorez les requêtes permettant à CodeQL d'analyser le code écrit en JavaScript ou en TypeScript 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 JavaScript et TypeScript. 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 JavaScript et TypeScript

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 CodeQL journaux des modifications dans le CodeQL site de documentation.

Remarque

La version initiale de GitHub Enterprise Server3.22 incluait l’action CodeQL et CodeQL CLI2.25.6, qui peuvent ne pas inclure toutes ces requêtes. Votre administrateur de site peut mettre à jour votre CodeQL version vers une version plus récente. Pour plus d’informations, consultez « Configuration de l’analyse du code pour votre appliance ».

Nom de la requêteCWE associésPar défautÉtenduCopilot Autofix
Accès arbitraire aux fichiers lors de l’extraction d’archives (« Zip Slip »)022
Mauvais filtrage HTML regexp020, 080, 116, 184, 185, 186
Chemin du middleware sensible à la casse178
Effacer le stockage de texte des informations sensibles312, 315, 359
Effacer la transmission de texte d’un cookie sensible614, 311, 312, 319
Journalisation en clair d’informations sensibles312, 359, 532
Cross-site scripting côté client079, 116
Redirection de l’URL côté client079, 116, 601
Injection de code094, 095, 079, 116
Mauvaise configuration CORS pour le transfert d’identifiants346, 639, 942
Création de nombres aléatoires biaisés à partir d’une source sécurisée par chiffrement327
Communication entre fenêtres avec une origine cible non restreinte201, 359
Requête de base de données créée à partir de sources contrôlées par l’utilisateur089, 090, 943
Téléchargement de dépendances via un canal de communication non chiffré300, 319, 494, 829
Désérialisation des données contrôlées par l’utilisateur502
Désactivation de la validation du certificat295, 297
Désactivation d’Electron webSecurity079
Désactivation de SCE116
Texte DOM réinterprété en tant que HTML079, 116
Double compilation1176
Double échappement ou déséchappement116, 020
Téléchargement d’un fichier sensible par le biais d’une connexion non sécurisée829
Activation de l’option allowRunningInsecureContent dans Electron494
Texte d’exception réinterprété en HTML079, 116
Exposition des fichiers privés200, 219, 548
Empoisonnement de l’en-tête Host dans la génération d’e-mails640
Sanitisation inadéquate du code094, 079, 116
Inclusion de fonctionnalités à partir d’une source non approuvée830
Assainissement d’attribut HTML incomplet079, 116, 020
Assainissement à caractères multiples incomplet020, 080, 116
Expression régulière incomplète pour les noms d'hôte020
Échappement ou encodage incomplet d’une chaîne020, 080, 116
Vérification incomplète du schéma d’URL020, 184
Assainissement de sous-chaîne d’URL incomplet020
Vérification incorrecte du suffixe020
Expression régulière inefficace1 333, 730, 400
Divulgation d’informations via une trace de pile209, 497
Configuration non sécurisée de l'intergiciel de sécurité Helmet693, 1021
Caractère aléatoire non sécurisé338
Liste verte d’URL non sécurisée183, 625
Vérification manquante de la clé secrète ou publique JWT347
Injection liée à la loop834, 730
Intergiciel CSRF manquant352
Absence de limitation du débit770, 307, 400
Plage d’expression régulière trop permissive020
Configuration permissive de CORS942
Expression régulière polynôme utilisée sur des données non contrôlées1 333, 730, 400
Affectation polluant le prototype078, 079, 094, 400, 471, 915
Fonction qui pollue le prototype078, 079, 094, 400, 471, 915
Appel de fusion provoquant une pollution du prototype078, 079, 094, 400, 471, 915
Cross-site scripting réfléchi079, 116
Injection d’expressions régulières730, 400
Remplacement d’une sous-chaîne par elle-même116
Épuisement des ressources400, 770
Épuisement des ressources du parcours d’objets profonds400
Injection de commandes de deuxième ordre078, 088
Données sensibles lues à partir de la requête GET598
Cookie de serveur sensible exposé au client1004
Blocage du serveur248, 730
Falsification de requête côté serveur918
Redirection de l’URL côté serveur601
Commande Shell générée à partir de valeurs d’environnement078, 088
Stockage d’informations sensibles dans l’artefact de build312, 315, 359
Script intersite persistant079, 116
Injection de prompt système1427
Injection d’objet dans un modèle073, 094
Confusion de type par le biais de la falsification de paramètres843
Ligne de commande non contrôlée078, 088
Données non maîtrisées utilisées dans une expression de chemin022, 023, 036, 073, 099
Utilisation inutile du processus cat078
Accès à la méthode dynamique non sécurisée094
Extension non sécurisée de la balise HTML auto-fermante079, 116
Code HTML non sécurisé construit à partir d’une entrée de bibliothèque079, 116
Plug-in jQuery non sécurisé079, 116
Commande shell non sécurisée construite à partir d’une entrée de bibliothèque078, 088
Domaine non fiable utilisé dans un script ou un autre contenu830
Appel de méthode dynamique non validé754
Utilisation d’un algorithme de cryptage rompu ou faible327, 328
Utilisation d’une clé de chiffrement faible326
Utilisation d’une chaîne de format contrôlée par une source externe134
Utilisation du hachage de mot de passe avec un effort de calcul insuffisant916
Escape de caractère d’expression régulière inutile020
Extension d’entité externe XML611, 827
Extension d’entité interne XML776, 400
Injection XPath643
Falsification de requête côté client918
Mot de passe vide dans le fichier de configuration258, 862
Impossible de quitter la session384
Données de fichier dans une requête réseau sortante200
Données codées en dur interprétées en tant que code506
Ligne de commande non contrôlée indirecte078, 088
Fichier temporaire non sécurisé377, 378
Injection de logs117
Vérification d’origine manquante dans le gestionnaire postMessage020, 940
Ancre d'expression régulière manquante020
Données réseau écrites dans un fichier912, 434
Situation de concurrence potentielle dans le système de fichiers367
Injection de propriétés à distance250, 400
Cookie sensible sans restrictions liées à SameSite1275
Code unsafe construit à partir d’une entrée de bibliothèque094, 079, 116
Contournement de la vérification de sécurité contrôlé par l’utilisateur807, 290