Sobre a edição das definições da configuração padrão
Depois de executar uma análise inicial do código com a configuração padrão, talvez seja necessário fazer alterações na configuração para atender melhor às necessidades. Para configurações existentes de configuração padrão, você pode editar:
- Quais linguagens a configuração padrão analisará
- O conjunto de consultas é executado durante a análise. Para saber mais sobre os pacotes de consultas disponíveis, confira Conjuntos de consultas CodeQL.
- Os modelos de risco (beta) a serem usados para análise. Sua escolha de modelo de risco determina quais fontes de dados afetados são tratadas como um risco para seu aplicativo. Durante o beta, os modelos de risco são compatíveis apenas com a análise para Java/Kotlin e C#. Para obter mais informações sobre modelos de risco, consulte Como incluir fontes locais de dados afetados na configuração padrão.
Se sua base de código depender de uma biblioteca ou estrutura que não seja reconhecida pelas bibliotecas padrão incluídas com o CodeQL, você também poderá estender a cobertura do CodeQL na configuração padrão usando pacotes de modelos do CodeQL. Para obter mais informações, consulte Estendendo a cobertura do CodeQL com pacotes de modelos do CodeQL na configuração padrão.
Se você precisar alterar quaisquer outros aspectos da configuração code scanning, considere configurar a instalação avançada. Para saber mais, confira Como definir a configuração avançada para verificação de código.
Personalizar a definição existente da configuração padrão
-
Em GitHub, acesse a página principal do repositório.
-
Abaixo do nome do repositório, clique em Configurações. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.
-
Na seção "Segurança" da barra lateral, clique em Code security and analysis.
-
Na linha "CodeQL analysis" da seção "Code scanning", selecione e clique em View CodeQL configuration.
-
Na janela de configuração padrão do "CodeQL", clique em Editar.
-
Opcionalmente, na seção "Linguagens", selecione ou desmarque as linguagens para análise.
-
Opcionalmente, na linha “Query suite” da seção “Scan settings”, selecione um conjunto diferente de consultas para executar em seu código.
-
(Beta) Opcionalmente, na linha "Modelo de risco" da seção "Configurações de scan", selecione Fontes remotas e locais. Essa opção só está disponível para repositórios com código em uma linguagem com suporte: Java/Kotlin e C#.
-
Para atualizar sua configuração, bem como executar uma análise inicial do seu código com a nova configuração, clique em Salvar alterações. Todas as análises futuras usarão sua nova configuração.
Definindo as severidades de alerta que causam uma falha de verificação para uma solicitação de pull
Quando você habilitar o code scanning em pull requests, a verificação falhará somente se um ou mais alertas de gravidade error
ou gravidade de segurança critical
ou high
forem detectados. A verificação será bem-sucedida se forem detectados alertas com gravidades ou gravidades de segurança mais baixas. Para bases de código importantes, convém que a verificação do code scanning falhe se algum alerta for detectado, de modo que o alerta deve ser corrigido ou descartado antes que a alteração de código seja mesclada. Para obter mais informações sobre níveis de gravidade, consulte Sobre a gravidade de alertas e níveis de gravidade de segurança.
-
Em GitHub, acesse a página principal do repositório.
-
Abaixo do nome do repositório, clique em Configurações. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.
-
Na seção "Segurança" da barra lateral, clique em Code security and analysis.
-
Em "Code scanning", à direita de "Check Failure", use o menu suspenso para selecionar o nível de gravidade que deseja atribuir em caso de falha de verificação de uma solicitação de pull.
Como incluir fontes locais de dados afetados na configuração padrão
Observação
Modelos de riscos estão em beta e estão sujeitos a alterações. Durante o beta, os modelos de risco são compatíveis apenas com a análise para Java/Kotlin e C#.
Se sua base de código considera apenas solicitações de rede remota como fontes potenciais de dados afetados, recomendamos usar o modelo de risco padrão. Se sua base de código considera outras fontes além de solicitações de rede que potencialmente contêm dados afetados, você poderá usar modelos de risco para adicionar essas fontes adicionais à sua análise CodeQL. Durante a beta, você pode adicionar fontes locais (por exemplo: argumentos da linha de comando, variáveis de ambiente, sistemas de arquivos e bancos de dados) que sua base de código pode considerar como fontes adicionais de dados afetados.
Você pode editar o modelo de risco usado em uma configuração de instalação padrão. Para obter mais informações, consulte Personalizar a definição existente da configuração padrão.
Estendendo a cobertura do CodeQL com pacotes de modelos do CodeQL na configuração padrão
Observação
Atualmente, os pacotes de modelo do CodeQL estão em beta e estão sujeitos a alterações. Os pacotes de modelos são compatíveis com a análise do C#, Java/Kotlin e Ruby.
O editor de modelos do CodeQL na extensão CodeQL para Visual Studio Code dá suporte a dependências de modelagem para C#, Java/Kotlin e Ruby.
Se você usar estruturas e bibliotecas que não são reconhecidas pelas bibliotecas padrão incluídas no CodeQL, você poderá modelar as dependências e estender a análise da code scanning. Para obter mais informações, consulte Linguagens e estruturas com suporte na documentação do CodeQL.
Para a configuração padrão, você precisa definir os modelos de suas dependências adicionais em um pacote de modelos do CodeQL. Você pode estender a cobertura na configuração padrão com pacotes de modelos do CodeQL para repositórios individuais, ou em escala para todos os repositórios em uma organização.
Para obter mais informações sobre os pacotes de modelos do CodeQL e escrever os seus próprios, confira Usar o editor de modelos do CodeQL.
Estender a cobertura de um repositório
- No diretório
.github/codeql/extensions
do repositório, copie o diretório do pacote de modelos que deve incluir um arquivocodeql-pack.yml
e quaisquer arquivos.yml
contendo modelos adicionais para as bibliotecas ou estruturas que você deseja incluir em sua análise. - Esses pacotes de modelos serão automaticamente detectados e usados na sua análise de code scanning.
- Se você alterar posteriormente sua configuração para usar a configuração avançada, qualquer pacote de modelos no diretório
.github/codeql/extensions
ainda será reconhecido e usado.