Skip to main content

Consultas de Java y Kotlin para el análisis de CodeQL

Explore las consultas que CodeQL usa para analizar el código escrito en Java o Kotlin al seleccionar default o el conjunto de consultas security-extended.

¿Quién puede utilizar esta característica?

CodeQL está disponible para los siguientes tipos de repositorios:

CodeQL incluye muchas consultas para analizar código de Java o Kotlin. Todas las consultas del conjunto de consultas default se ejecutan de manera predeterminada. Si decide usar el conjunto de consultas security-extended, se ejecutan consultas adicionales. Para obtener más información, vea «Conjuntos de consultas codeQL».

Consultas integradas para el análisis de Java y Kotlin

En esta tabla se enumeran las consultas disponibles con la versión más reciente de la acción CodeQL y CodeQL CLI. Para obtener más información, consulte "Registros de cambios CodeQL" en el sitio de documentación de CodeQL.

Nota: La versión inicial de GitHub Enterprise Server 3.14 incluía la acción CodeQL y CodeQL CLI 2.17.6, que puede no incluir todas estas consultas. El administrador del sitio puede actualizar la versión de CodeQL a una versión más reciente. Para obtener más información, vea «Configuración la digitalización de código para el dispositivo».

Nombre de la consultaCWE relacionadosValor predeterminadoAmpliadoCopilot Autofix
TrustManager que acepta todos los certificados295
Android WebView que acepta todos los certificados295
Atributo depurable de Android habilitado489
Inserción de fragmentos de Android470
Inserción de fragmentos de Android en PreferenceActivity470
Redireccionamiento de la intención de Android926, 940
Depuración de Webview habilitada de Android489
Acceso arbitrario a archivos durante la extracción de archivos ("Zip Slip")022
Creación de una línea de comandos con concatenación de cadenas078, 088
Almacenamiento de texto no cifrado de información confidencial en la cookie315
Scripting entre sitios079
Depender de JCenter/Bintray como repositorio de artefactos1104
Deserialización de datos controlados por el usuario502
Detección de vulnerabilidad del generador JHipster CVE-2019-16303338
Validación deshabilitada del encabezado HTTP de Netty93, 113
Protección de Spring CSRF deshabilitada352
Inserción de lenguaje de expresiones (JEXL)094
Inserción de lenguaje de expresiones (MVEL)094
Inserción de lenguaje de expresiones (Spring)094
Error al utilizar la dirección URL de HTTPS o SFTP en la carga o descarga de artefactos de Maven300, 319, 494, 829
Error al usar cookies seguras614
Inyección de idioma groovy094
División de respuestas HTTP113
Conversión de restricción implícita en asignación compuesta190, 192, 197, 681
Componente de Android exportado implícitamente926
Comprobación de la intención por receptor de difusión incorrecta925
Expresión regular ineficaz1333, 730, 400
Exposición de la información a través de un seguimiento de la pila209, 497
Exposición de la información mediante un mensaje de error209
Validación de Bean no protegida094
Autenticación LDPA no protegida522, 319
Autenticación local no segura287
Aleatoriedad insegura330, 338
Manipulación de permisos de URI de intención266, 926
Búsqueda de JNDI con un nombre controlado por el usuario074
Consulta LDPA creada a partir de orígenes controlados por el usuario090
Falta de comprobación de firma JWT347
Instrucción del lenguaje de expresiones OGNL con entrada controlada por el usuario917
Intervalo de expresiones regulares excesivamente permisivo020
Vulnerabilidad de recorrido parcial de ruta de acceso desde un entorno remoto023
Expresión regular polinómica usada en datos no controlados1333, 730, 400
Consulta creada a partir de orígenes controlados por el usuario089, 564
Lectura desde un archivo grabable del mundo732
Inserción de expresiones regulares730, 400
Resolución de una entidad externa XML en datos controlados por el usuario611, 776, 827
Falsificación de solicitud del lado servidor918
Inserción de plantillas del lado servidor1336, 094
Línea de comandos no controlada078, 088
Datos usados en la resolución de contenido no controlados441, 610
Datos usados en la expresión de ruta de acceso no controlados022, 023, 036, 073
Comprobación de nombres de host no segura297
Reenvío de dirección URL desde un origen remoto552
Redireccionamiento de direcciones URL desde origen remoto601
Utilización de un algoritmo criptográfico roto o de riesgo327, 328
Utilización de un algoritmo criptográfico con un tamaño de clave insuficiente326
Utilización de una inicialización predecible en un generador de números aleatorios seguro335, 337
Utilización de cadenas de formato controladas externamente134
Utilización de PendingIntents implícitos927
Utilización del algoritmo RSA sin OAEP780
Datos de la conversión numérica controlados por el usuario197, 681
Comprobación de los datos usados en la comprobación de permisos controlada por el usuario807, 290
Utilización de un vector de inicialización estática para el cifrado329, 1204
Inserción de XPath643
Transformación de XSLT con hoja de estilos controlada por el usuario074
Acceso a los métodos de objetos de Java a través de la exposición de JavaScript079
Instalación de APK de Android094
Asignación de certificados que faltan en Android295
Caché de teclado confidencial de Android524
Acceso al archivo WebSettings de Android200
Configuración de JavaScript de WebView de Android079
La configuración de WebView de Android permite el acceso a vínculos de contenido200
Copia de seguridad de aplicaciones permitida312
Generación de un comando con una variable de entorno insertada078, 088, 454
Almacenamiento de texto no cifrado de información confidencial en el sistema de archivos de Android312
Almacenamiento de texto no cifrado de información confidencial mediante la clase "Propiedades"313
Almacenamiento de texto no cifrado de información confidencial mediante SharedPreferences en Android312
Almacenamiento de texto no cifrado de información confidencial mediante una base de datos local en Android312
Comparación de tipo limitado con tipo amplio en condición de repetición190, 197
Ejecución de un comando con una ruta de acceso relativa078, 088
Exposición de información confidencial a las notificaciones200
Exposición de información confidencial a las vistas de texto de la interfaz de usuario200
Credencial codificada de forma rígida en la llamada API798
Validación del índice de matriz proporcionado por el usuario incorrecta129
Validación del tamaño proporcionado por el usuario que se utiliza para la construcción de matrices incorrecta129
Autenticación básica no protegida522, 319
Configuración de SSL de JavaMail no protegida297
Claves generadas de forma no segura para la autenticación local287
Inserción de información confidencial en archivos de registro532
Pérdida de información confidencial a través de ResultReceiver927
Pérdida de información confidencial a través de una intención implícita927
Divulgación de información local en un directorio temporal200, 732
Inserción de registros117
Repetición con condición de salida inaccesible835
Falta de permiso de lectura o de escritura en un proveedor de contenido926
Vulnerabilidad de recorrido parcial de ruta de acceso023
Consulta compilada mediante concatenación con una cadena posiblemente que no de confianza089, 564
Condición de carrera en la autenticación de socket421
Tiempo de comprobación de la condición de carrera de tiempo de utilización367
Infracción del límite de confianza501
Datos en la expresión aritmética no controlados190, 191
Bloqueo no publicado764, 833
Certificado de confianza no seguro273
Captura de recursos en WebView de Android no segura749, 079
Utilización de un algoritmo criptográfico potencialmente roto o de riesgo327, 328
Utilización de una función potencialmente peligrosa676
Omisión del método confidencial controlada por el usuario807, 290
Datos en la expresión aritmética controlados por el usuario190, 191