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
Você pode usar conjuntos de regras para evitar que pull requests sejam mesclados quando uma das seguintes condições for atendida:
-
Uma ferramenta necessária encontrou um alerta do code scanning de uma gravidade definida em um conjunto de regras.
-
Uma análise de ferramenta necessária do code scanning ainda está em andamento.
-
Uma ferramenta necessária do code scanning não está configurada para o repositório.
Para saber mais, confira Definir proteção contra mesclagem de verificação de código. Para obter informações gerais sobre conjuntos de regras, confira Sobre os conjuntos de regras.
Como incluir fontes locais de dados afetados na configuração padrão
Note
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
Note
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/C++, C#, Java/Kotlin, Python 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, Python 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.
Estender a cobertura para todos os repositórios em uma organização
Note
Se você ampliar a cobertura com pacotes de modelo do CodeQL para todos os repositórios em uma organização, será necessário publicar os pacotes de modelo especificados no registro de contêiner associado à instância GitHub Enterprise Server (https://containers.HOSTNAME
) e torná-los acessíveis aos repositórios que executam % data variables.product.prodname_code_scanning %}. Para saber mais, confira Trabalhando com o registro do Contêiner.
-
No canto superior direito de GitHub, selecione sua foto de perfil e clique em Your organizations.
-
No nome da sua organização, clique 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 e em Configurações globais.
-
Encontre a seção de "Code scanning".
-
Ao lado de "Expandir análise do CodeQL", clique em Configurar.
-
Insira referências aos pacotes de modelos publicados que você deseja usar, uma por linha, e clique em Salvar.
-
Os pacotes de modelos serão detectados e usados automaticamente quando a code scanning for executada em qualquer repositório da organização com a configuração padrão habilitada.