Skip to main content

Consultas Java e Kotlin para análise CodeQL

Explore as consultas que o CodeQL usa para analisar o código escrito em Java ou Kotlin quando você seleciona o conjunto de consultas default ou security-extended.

Quem pode usar esse recurso?

O CodeQL está disponível para os seguintes tipos de repositórios:

O CodeQL inclui muitas consultas para analisar código Java e Kotlin. Todas as consultas no conjunto de consultas default são executadas por padrão. Se você optar por usar o conjunto de consultas security-extended, consultas adicionais serão executadas. Para saber mais, confira Conjuntos de consultas CodeQL.

Consultas internas para análise Java e Kotlin

Esta tabela lista as consultas disponíveis com a versão mais recente da ação CodeQL e CodeQL CLI. Para obter mais informações, consulte Logs de alterações do CodeQL no site de documentação do CodeQL .

Nome da consultaCWEs relacionadosPadrãoEstendidoCorreção automática do Copilot
TrustManager que aceita todos os certificados295
Android WebView que aceita todos os certificados295
Atributo depurável do Android habilitado489
Injeção de fragmento do Android470
Injeção de fragmento do Android em PreferenceActivity470
Redirecionamento de intenção do Android926, 940
Depuração do Android Webview habilitada489
Acesso arbitrário a arquivos durante a extração de arquivos ("Zip Slip")022
Armazenamento de texto não criptografado de informações confidenciais no cookie315
          [Script entre sites](https://codeql.github.com/codeql-query-help/java/java-xss/) | 079 | <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> |

| Depender do JCenter/Bintray como um repositório de artefatos | 1104 | | | | | Desserialização de dados controlados pelo usuário | 502 | | | | | Detectar vulnerabilidade do gerador JHipster CVE-2019-16303 | 338 | | | | | Validação de cabeçalho Netty HTTP desabilitada | 093, 113 | | | | | Proteção Spring CSRF desabilitada | 352 | | | | | Atuadores de Spring Boot expostos | 200 | | | | | Atuadores Spring Boot expostos no arquivo de configuração | 200 | | | | | Injeção de linguagem de expressão (JEXL) | 094 | | | | | Injeção de linguagem de expressão (MVEL) | 094 | | | | | Injeção de linguagem de expressão (Spring) | 094 | | | | | Falha ao usar HTTPS ou URL SFTP no upload/download de artefatos do Maven | 300, 319, 494, 829 | | | | | Falha no uso de cookies seguros | 614 | | | | | Injeção de linguagem Groovy | 094 | | | | | Divisão de resposta HTTP | 113 | | | | | Conversão de estreitamento implícito na atribuição composta | 190, 192, 197, 681 | | | | | Componente Android exportado implicitamente | 926 | | | | | Verificação indevida da intenção pelo receptor de transmissão | 925 | | | | | Expressão regular ineficiente | 1333, 730, 400 | | | | | Exposição de informações por meio de um rastreamento de pilha | 209, 497 | | | | | Exposição de informações por meio de uma mensagem de erro | 209 | | | | | Validação de Bean não seguro | 094 | | | | | Autenticação LDAP não segura | 522, 319 | | | | | Autenticação local insegura | 287 | | | | | Aleatoriedade não segura | 330, 338 | | | | | Manipulação de permissão de URI de intenção | 266, 926 | | | | | Pesquisa JNDI com nome controlado pelo usuário | 074 | | | | | Consulta LDAP criada com base em fontes controladas pelo usuário | 090 | | | | | Verificação de assinatura JWT ausente | 347 | | | | | Instrução OGNL Expression Language com entrada controlada pelo usuário | 917 | | | | | Intervalo de expressão regular excessivamente permissivo | 020 | | | | | Vulnerabilidade de travessia de caminho parcial de remoto | 023 | | | | | Expressão regular polinomial usada em dados não controlados | 1333, 730, 400 | | | | | Consulta criada a partir de fontes controladas pelo usuário | 089.564 | | | | | Leitura de um arquivo gravável mundial | 732 | | | | | Injeção de expressão regular | 730, 400 | | | | | Resolver entidade externa XML em dados controlados pelo usuário | 611, 776, 827 | | | | | Cookies confidenciais sem o cabeçalho de resposta HttpOnly definido | 1004 | | | | | Solicitação forjada do lado do servidor | 918 | | | | | Injeção de modelo do lado do servidor | 1336, 094 | | | | | Linha de comando não controlada | 078, 088 | | | | | Dados não controlados usados na resolução de conteúdo | 441, 610 | | | | | Dados não controlados usados na expressão de caminho | 022, 023, 036, 073 | | | | | Verificação de nome de host não seguro | 297 | | | | | Encaminhamento de URL de uma fonte remota | 552 | | | | | Redirecionamento de URL da fonte remota | 601 | | | | | Uso de um algoritmo criptográfico danificado ou arriscado | 327, 328 | | | | | Uso de um algoritmo criptográfico com tamanho de chave insuficiente | 326 | | | | | Uso de uma semente previsível em um gerador de números aleatórios seguro | 335, 337 | | | | | Uso de cadeia de caracteres de formato controlada externamente | 134 | | | | | Uso de PendingIntents implícitos | 927 | | | | | Uso do algoritmo RSA sem OAEP | 780 | | | | | Dados controlados pelo usuário em conversão numérica | 197, 681 | | | | | Dados controlados pelo usuário usados na verificação de permissões | 807, 290 | | | | | Usando um vetor de inicialização estático para criptografia | 329, 1204 | | | | | Injeção de XPath | 643 | | | | | Transformação XSLT com folha de estilo controlada pelo usuário | 074 | | | | | Acessar métodos de objeto Java por meio da exposição JavaScript | 079 | | | | | Instalação de APK do Android | 094 | | | | | Fixação de certificado ausente do Android | 295 | | | | | Cache de teclado sensível do Android | 524 | | | | | Acesso ao arquivo Android WebSettings | 200 | | | | | Configurações JavaScript do Android WebView | 079 | | | | | As configurações do Android WebView permitem acesso a links de conteúdo | 200 | | | | | Backup de aplicativo permitido | 312 | | | | | Criar uma linha de comando com concatenação de cadeia de caracteres | 078, 088 | | | | | Criar um comando com uma variável de ambiente injetada | 078, 088, 454 | | | | | Armazenamento de texto não criptografado de informações confidenciais no sistema de arquivos Android | 312 | | | | | Armazenamento de texto não criptografado de informações confidenciais usando a classe 'Properties' | 313 | | | | | Armazenamento de texto não criptografado de informações confidenciais usando SharedPreferences no Android | 312 | | | | | Armazenamento de texto não criptografado de informações confidenciais usando um banco de dados local no Android | 312 | | | | | Comparação do tipo estreito com o tipo largo na condição de loop | 190, 197 | | | | | Executar um comando com um caminho relativo | 078, 088 | | | | | Exposição de informações confidenciais a notificações | 200 | | | | | Exposição de informações confidenciais a exibições de texto da interface do usuário | 200 | | | | | Tipo de solicitação HTTP desprotegido do CSRF | 352 | | | | | Validação incorreta do índice de matriz fornecido pelo usuário | 129 | | | | | Validação inadequada do tamanho fornecido pelo usuário usado para a construção de matrizes | 129 | | | | | Autenticação básica não segura | 522, 319 | | | | | Configuração SSL não segura do JavaMail | 297 | | | | | Chaves geradas de forma insegura para autenticação local | 287 | | | | | Inserção de informações confidenciais em arquivos de log | 532 | | | | | Vazamento de informações confidenciais por meio de um ResultReceiver | 927 | | | | | Vazamento de informações confidenciais por meio de uma intenção implícita | 927 | | | | | Divulgação de informações locais em um diretório temporário | 200, 732 | | | | | Injeção de log | 117 | | | | | Loop com condição de saída inacessível | 835 | | | | | Falta permissão de leitura ou gravação em um provedor de conteúdo | 926 | | | | | Vulnerabilidade de travessia de caminho parcial | 023 | | | | | Consulta criada por concatenação com uma cadeia de caracteres possivelmente não confiável | 089.564 | | | | | Condição de corrida na autenticação de soquete | 421 | | | | | Condição de corrida de tempo de uso de verificação de tempo de verificação | 367 | | | | | Violação de limite de confiança | 501 | | | | | Dados não controlados em expressão aritmética | 190, 191 | | | | | Bloqueio não liberado | 764, 833 | | | | | Confiança de certificado não segura | 273 | | | | | Busca de recursos não seguros no Android WebView | 749, 079 | | | | | Uso de um algoritmo criptográfico potencialmente danificado ou arriscado | 327, 328 | | | | | Uso de uma função potencialmente perigosa | 676 | | | | | Bypass controlado pelo usuário de método confidencial | 807, 290 | | | | | Dados controlados pelo usuário em expressão aritmética | 190, 191 | | | |