Skip to main content

Consultas JavaScript e TypeScript para análise CodeQL

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

Quem pode usar esse recurso?

A Code scanning está disponível para todos os repositórios públicos do GitHub.com. A Code scanning também está disponível em repositórios privados pertencentes às organizações que usam o GitHub Enterprise Cloud e que têm uma licença do GitHub Advanced Security. Para obter mais informações, confira "Sobre a Segurança Avançada do GitHub".

O CodeQL inclui muitas consultas para analisar código JavaScript e TypeScript. 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 obter mais informações, confira "Conjuntos de consultas CodeQL".

Consultas internas para análise de JavaScript e TypeScript

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 .

Observação: a correção automática do GitHub para o code scanning está em beta. A funcionalidade e a documentação estão sujeitas a alterações. Durante essa fase, o recurso está restrito a alertas JavaScript, TypeScript, Phyton e Java identificados pelo CodeQL. Se você tiver uma conta empresarial e usar GitHub Advanced Security, sua empresa terá acesso à versão beta.

Nome da consultaCWEs relacionadosPadrãoEstendidoCorreção automática
Acesso arbitrário a arquivos durante a extração de arquivos ("Zip Slip")022
Regexp de filtragem HTML incorreta020, 080, 116, 184, 185, 186
Caminho de middleware que diferencia maiúsculas de minúsculas178
Armazenamento de texto não criptografado de informações confidenciais312, 315, 359
Transmissão de texto não criptografado de cookie confidencial614, 311, 312, 319
Registro em log de texto não criptografado de informações confidenciais312, 359, 532
Cross-site scripting do lado do cliente079, 116
Redirecionamento de URL do lado do cliente079, 116, 601
Injeção de código094, 095, 079, 116
Configuração incorreta de CORS para transferência de credenciais346, 639, 942
Criar números aleatórios tendenciosos com base em uma fonte criptograficamente segura327
Comunicação entre janelas com origem de destino irrestrita201, 359
Consulta de banco de dados criada com base em fontes controladas pelo usuário089, 090, 943
Download de dependência usando canal de comunicação não criptografado300, 319, 494, 829
Desserialização de dados controlados pelo usuário502
Desabilitar a validação de certificado295, 297
Desabilitar Electron webSecurity79
Desabilitar SCE116
Texto DOM reinterpretado como HTML079, 116
Compilação dupla1176
Escape duplo ou sem escape116, 020
Download de arquivo confidencial através de conexão insegura829
Habilitar Electron allowRunningInsecureContent494
Texto de exceção reinterpretado como HTML079, 116
Exposição de arquivos privados200, 219, 548
Injeção de expressão em ações094
Credenciais codificadas259, 321, 798
Dano de cabeçalho de host na geração de email640
Limpeza inadequada do código094, 079, 116
Inclusão de funcionalidade de uma fonte não confiável830
Limpeza de atributo HTML incompleta079, 116, 020
Limpeza incompleta de vários caracteres020, 080, 116
Expressão regular incompleta para nomes de host020
Escape ou codificação de cadeia de caracteres incompletos020, 080, 116
Verificação de esquema de URL incompleto020, 184
Limpeza de substring de URL incompleta020
Verificação incorreta de sufixo020
Expressão regular ineficiente1333, 730, 400
Exposição de informações por meio de um rastreamento de pilha209, 497
Aleatoriedade não segura338
Lista de permissões de URL não segura183, 625
JWT com segredo ou verificação de chave pública ausentes347
Injeção vinculada em loop834, 730
Middleware CSRF ausente352
Limitação de taxa ausente770, 307, 400
Intervalo de expressão regular excessivamente permissivo020
Expressão regular polinomial usada em dados não controlados1333, 730, 400
Atribuição de protótipos prejudiciais078, 079, 094, 400, 471, 915
Função de protótipo prejudicial078, 079, 094, 400, 471, 915
Chamada de mesclagem prejudicial de protótipos078, 079, 094, 400, 471, 915
Cross-site scripting refletido079, 116
Injeção de expressão regular730, 400
Substituição de uma substring por ela mesma116
Esgotamento de recursos400, 770
Exaustão de recursos da travessia profunda de objetos400
Injeção de comando de segunda ordem078, 088
Dados confidenciais lidos da solicitação GET598
Cookie de servidor confidencial exposto ao cliente1004
Falha do servidor248, 730
Solicitação forjada do lado do servidor918
Redirecionamento de URL do lado do servidor601
Comando do shell criado com base em valores de ambiente078, 088
Armazenamento de informações confidenciais no artefato de compilação312, 315, 359
Cross-site scripting armazenado079, 116
Injeção de objeto de modelo073, 094
Confusão de tipos por meio de adulteração de parâmetros843
Linha de comando não controlada078, 088
Dados não controlados usados na expressão de caminho022, 023, 036, 073, 099
Uso desnecessário do processo cat078
Acesso não seguro ao método dinâmico094
Expansão não segura da tag HTML de fechamento automático079, 116
HTML não seguro construído com base na entrada da biblioteca079, 116
Plug-in jQuery não seguro079, 116
Comando shell não seguro construído com base na entrada da biblioteca078, 088
Chamada de método dinâmico não validada754
Uso de um algoritmo criptográfico danificado ou fraco327, 328
Uso de uma chave criptográfica fraca326
Uso de cadeia de caracteres de formato controlada externamente134
Uso de hash de senha com esforço computacional insuficiente916
Escape de caracteres de expressão regular inútil020
Expansão de entidade externa XML611, 827
Expansão de entidade interna XML776, 400
Injeção de XPath643
Solicitação forjada do lado do cliente918
Senha vazia no arquivo de configuração258, 862
Falha ao abandonar a sessão384
Dados de arquivo na solicitação de rede de saída200
Dados codificados interpretados como código506
Linha de comando indireta não controlada078, 088
Arquivo temporário não seguro377, 378
Injeção de log117
Verificação de origem ausente no manipulador postMessage020, 940
Âncora de expressão regular ausente020
Dados de rede gravados no arquivo912, 434
Senha no arquivo de configuração256, 260, 313, 522
Condição de corrida potencial do sistema de arquivos367
Injeção remota de propriedade250, 400
Cookie confidencial sem restrições do SameSite1275
Código não seguro construído com base na entrada da biblioteca094, 079, 116
Bypass controlado pelo usuário da verificação de segurança807, 290