Skip to main content

Requêtes Java et Kotlin pour l’analyse CodeQL

Explorez les requêtes permettant à CodeQL d’analyser le code écrit en Java ou en Kotlin 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 Java et Kotlin. éléments réutilisables.analyse-du-code.codeql-query-tables.query-suite-behavior %}

Requêtes intégrées pour l’analyse Java et Kotlin

Nom de la requêteCWE connexesPar défautÉtenduCopilot correction automatique
[
          `TrustManager` qui accepte tous les certificats](https://codeql.github.com/codeql-query-help/java/java-insecure-trustmanager/) | 295 | <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-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> |

| Android WebView qui accepte tous les certificats | 295 | | | | | Attribut de débogueur Android activé | 489 | | | | | Injection de fragment Android | 470 | | | | | Injection de fragment Android dans PreferenceActivity | 470 | | | | | Redirection d’intention Android | 926, 940 | | | | | Débogage Webview Android activé | 489 | | | | | Accès arbitraire aux fichiers lors de l’extraction d’archives (« Zip Slip ») | 022 | | | | | Stockage de texte en clair des informations sensibles dans le cookie | 315 | | | | | Scripting inter-site | 079 | | | | | Dépendance à l’égard de JCenter/Bintray en tant que référentiel d’artefacts | 1104 | | | | | Désérialisation des données contrôlées par l’utilisateur | 502 | | | | | Détecter la vulnérabilité CVE-2019-16303 du générateur JHipster | 338 | | | | | Validation de l’en-tête HTTP Netty désactivée | 093, 113 | | | | | Protection Spring CSRF désactivée | 352 | | | | | Actionneurs Spring Boot exposés | 200 | | | | | Actionneurs Spring Boot exposés dans le fichier de configuration | 200 | | | | | Injection de langage d’expression (JEXL) | 094 | | | | | Injection de langage d’expression (MVEL) | 094 | | | | | Injection de langage d’expression (Spring) | 094 | | | | | Échec de l’utilisation de l’URL HTTPS ou SFTP dans le chargement/téléchargement d’artefacts Maven | 300, 319, 494, 829 | | | | | Échec de l’utilisation des cookies sécurisés | 614 | | | | | Injection de langage Groovy | 094 | | | | | Fractionnement des réponses HTTP | 113 | | | | | Conversion restrictive implicite dans l’affectation composée | 190, 192, 197, 681 | | | | | Composant Android implicitement exporté | 926 | | | | | Vérification incorrecte de l’intention par récepteur de diffusion | 925 | | | | | Expression régulière inefficace | 1 333, 730, 400 | | | | | Exposition des informations par le biais d’un rapport des appels de procédure | 209, 497 | | | | | Exposition d’informations par le biais d’un message d’erreur | 209 | | | | | Validation non sécurisée des beans | 094 | | | | | Authentification LDAP non sécurisée | 522, 319 | | | | | Authentification locale non sécurisée | 287 | | | | | Caractère aléatoire non sécurisé | 330, 338 | | | | | Manipulation des autorisations d’URI d’intention | 266, 926 | | | | | Recherche JNDI avec un nom contrôlé par l’utilisateur | 074 | | | | | Requête LDAP créée à partir de sources contrôlées par l’utilisateur | 090 | | | | | Vérification de signature JWT manquante | 347 | | | | | Instruction du langage d’expression OGNL avec entrée contrôlée par l’utilisateur | 917 | | | | | Plage d’expressions régulières trop permissive | 020 | | | | | Vulnérabilité de parcours partielle à distance du chemin d’accès | 023 | | | | | Expression régulière polynôme utilisée sur des données non contrôlées | 1 333, 730, 400 | | | | | Requête générée à partir de sources contrôlées par l’utilisateur | 89 564 | | | | | Lecture à partir d’un fichier accessible en écriture dans le monde | 732 | | | | | Injection d’expressions régulières | 730, 400 | | | | | Résolution d’une entité externe XML dans les données contrôlées par l’utilisateur | 611, 776, 827 | | | | | Cookies sensibles sans que l'en-tête de réponse HttpOnly ne soit défini | 1004 | | | | | Falsification de requête côté serveur | 918 | | | | | Injection de gabarit côté serveur | 1336, 094 | | | | | Ligne de commande non contrôlée | 078, 088 | | | | | Données non contrôlées utilisées dans la résolution de contenu | 441, 610 | | | | | Données non contrôlées utilisées dans l’expression de chemin d’accès | 022, 023, 036, 073 | | | | | Vérification du nom d’hôte non sécurisée | 297 | | | | | Transfert d’URL à partir d’une source distante | 552 | | | | | Redirection d’URL à partir d’une source distante | 601 | | | | | Utilisation d’un algorithme de cryptage défectueux ou risqué | 327, 328 | | | | | Utilisation d’un algorithme de cryptage avec une taille de clé insuffisante | 326 | | | | | Utilisation d’une cote prévisible dans un générateur de nombres aléatoires sécurisés | 335, 337 | | | | | Utilisation de la chaîne de format contrôlée en externe | 134 | | | | | Utilisation de PendingIntents implicites | 927 | | | | | Utilisation de l’algorithme RSA sans OAEP | 780 | | | | | Données contrôlées par l’utilisateur dans une projection numérique | 197, 681 | | | | | Données contrôlées par l’utilisateur utilisées dans la vérification des autorisations | 807, 290 | | | | | Utilisation d’un vecteur d’initialisation statique pour le chiffrement | 329, 1 204 | | | | | Injection XPath | 643 | | | | | Transformation XSLT avec une feuille de style contrôlée par l’utilisateur | 074 | | | | | Accéder aux méthodes d’objet Java par le biais d’une exposition JavaScript | 079 | | | | | Installation d’Android APK | 094 | | | | | Épinglage de certificat Android manquant | 295 | | | | | Cache clavier sensible Android | 524 | | | | | Accès aux fichiers WebSettings d’Android | 200 | | | | | Paramètres JavaScript WebView d’Android | 079 | | | | | Les paramètres Android WebView permettent d’accéder aux liens de contenu | 200 | | | | | Sauvegarde d’application autorisée | 312 | | | | | Création d’une ligne de commande avec concaténation de chaîne | 078, 088 | | | | | Génération d’une commande avec une variable d’environnement injectée | 078, 088, 454 | | | | | Stockage de texte en clair des informations sensibles dans le système de fichiers Android | 312 | | | | | Stockage de texte en clair des informations sensibles à l’aide de la classe « Propriétés » | 313 | | | | | Stockage de texte en clair des informations sensibles à l’aide de SharedPreferences sur Android | 312 | | | | | Stockage de texte en clair des informations sensibles à l’aide d’une base de données locale sur Android | 312 | | | | | Comparaison du type étroit avec un type large en condition de loop | 190, 197 | | | | | Exécution d’une commande avec un chemin d’accès relatif | 078, 088 | | | | | Exposition des informations sensibles aux notifications | 200 | | | | | Exposition des informations sensibles aux vues de texte de l’IU | 200 | | | | | Type de requête HTTP non protégé contre la falsification de requête intersites (CSRF, Cross Site Request Forgery) | 352 | | | | | Validation incorrecte de l’index de tableau fourni par l’utilisateur | 129 | | | | | Validation incorrecte de la taille fournie par l’utilisateur utilisée pour la construction de tableaux | 129 | | | | | Authentification de base non sécurisée | 522, 319 | | | | | Configuration SSL JavaMail non sécurisée | 297 | | | | | Clés générées de manière non sécurisée pour l’authentification locale | 287 | | | | | Insertion d’informations sensibles dans des fichiers journaux | 532 | | | | | Fuite d’informations sensibles par le biais d’un ResultReceiver | 927 | | | | | Fuite d’informations sensibles par le biais d’une intention implicite | 927 | | | | | Divulgation d’informations locales dans un annuaire temporaire | 200, 732 | | | | | Injection de journaux d’activité | 117 | | | | | Loop avec condition de sortie inaccessible | 835 | | | | | Absence d’autorisation d’accès en écriture ou en lecture dans un fournisseur de contenu | 926 | | | | | Vulnérabilité de parcours partielle du chemin d’accès | 023 | | | | | Requête générée par concaténation avec une chaîne éventuellement non approuvée | 089, 564 | | | | | Condition de concurrence dans l’authentification de socket | 421 | | | | | Heure de vérification du temps d’utilisation de la condition de concurrence | 367 | | | | | Violation de limite d’approbation | 501 | | | | | Données non contrôlées dans une expression arithmétique | 190, 191 | | | | | Verrou non déverrouillé | 764, 833 | | | | | Approbation de certificat non sécurisée | 273 | | | | | Récupération de ressources non sécurisées dans Android WebView | 749, 079 | | | | | Utilisation d’un algorithme de cryptage potentiellement défectueux ou risqué | 327, 328 | | | | | Utilisation d’une fonction potentiellement dangereuse | 676 | | | | | Contournement contrôlé par l’utilisateur de la méthode sensible | 807, 290 | | | | | Données contrôlées par l’utilisateur dans une expression arithmétique | 190, 191 | | | |