Sobre a configuração padrão
A configuração code scanning padrão é a maneira mais rápida, fácil e de baixa manutenção para habilitar code scanning para seu repositório. Com base no código em seu repositório, a configuração padrão criará automaticamente uma configuração personalizada code scanning . Depois de habilitar a configuração padrão, o código escrito em idiomas com suporte CodeQL no seu repositório será verificado usando CodeQL.
- Em cada push para o branch padrão do repositório ou qualquer branch protegido. Para obter mais informações sobre branches protegidos, consulte Sobre branches protegidos.
- Ao criar ou se comprometer com uma pull request baseada no branch padrão do repositório, ou em qualquer branch protegido, excluindo pull requests de forks.
- Em um agendamento semanal.
Idiomas com suporte
É recomendável habilitar a configuração padrão para os repositórios elegíveis se houver alguma chance de que venham a incluir, pelo menos, uma linguagem compatível com o CodeQL no futuro. Se você habilitar a configuração padrão em um repositório que não inclua nenhuma linguagem compatível com o CodeQL, a configuração padrão não executará nenhuma varredura nem usará minutos de GitHub Actions. Se linguagens compatíveis com o CodeQL forem adicionadas ao branch padrão do repositório, a configuração padrão começará automaticamente a varrê-las com o CodeQL e a usar minutos de GitHub Actions. Para obter mais informações sobre as linguagens com suporte no CodeQL, confira Sobre a varredura de código com CodeQL.
Se o código em um repositório for alterado para incluir idiomas CodeQLcom suporte, GitHub atualizará automaticamente a code scanning configuração para incluir o novo idioma. Se code scanning falhar com a nova configuração, GitHub retomará a configuração anterior automaticamente para que o repositório não perca code scanning a cobertura.
Personalização da configuração padrão
Depois de executar uma análise inicial do código com a configuração padrão, você pode fazer alterações na configuração para atender melhor às suas necessidades.
Opções de configuração
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 ameaça (prévia pública) 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 os prévia pública, os modelos de ameaças são compatíveis apenas para a análise de 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 a base de código depender de uma biblioteca ou framework que não seja reconhecida pelas bibliotecas padrão incluídas com CodeQL, você também poderá estender a cobertura CodeQL na configuração padrão usando model packs CodeQL. Para obter mais informações, consulte Como estender a cobertura do CodeQL com pacotes de modelos do CodeQL na configuração padrão.
Executores disponível
Você pode usar a configuração padrão para todos os CodeQLidiomas com suporte em corredores auto-hospedados ou GitHubexecutores hospedados.
Você pode atribuir executores auto-hospedados para a configuração padrão, dando aos executores o rótulo padrão code-scanning ou, opcionalmente, você pode dar-lhes rótulos personalizados para que repositórios individuais possam usar diferentes executores.
A menos que você tenha um caso de uso específico, recomendamos que você atribua apenas executores com o rótulo padrão code-scanning. No entanto, talvez você queira usar rótulos personalizados para:
- Atribua executores autogeridos mais poderosos a repositórios críticos para uma análise mais rápida code scanning.
- Execute suas code scanning análises em uma plataforma específica (por exemplo, macOS).
- Tenha controle detalhado sobre a carga de trabalho dos seus executores GitHubhospedados e dos executores auto-hospedados.
Sobre a configuração avançada
Se você precisar de um controle mais granular sobre sua code scanning configuração, deverá configurar a configuração avançada. A configuração avançada para code scanning é uma ferramenta útil quando você precisa personalizar sua code scanning. Você pode configurar code scanning com GitHub Actions ou um sistema externo de integração contínua ou entrega/implantação contínua (CI/CD).
Se você executar a verificação de código usando várias configurações, algumas vezes um alerta terá várias origens de análise. Se um alerta tiver várias origens de análise, você poderá ver o status do alerta para cada origem de análise na página de alertas. Para saber mais, confira Sobre alertas de digitalização de códigos.
Com GitHub Actions
Ao criar e editar um GitHub Actions arquivo de fluxo de trabalho, você pode definir como criar idiomas compilados, escolher quais consultas executar, selecionar os idiomas a serem verificados, usar um build de matriz e muito mais. Você também tem acesso a todas as opções para controlar fluxos de trabalho, por exemplo: alterar o cronograma de varredura, definir gatilhos de fluxo de trabalho, especificar executores especializados para usar.
O administrador do seu site também pode disponibilizar ações de terceiros aos usuários de code scanning, configurando GitHub Connect. Para saber mais, confira Configurando a verificação de código para seu dispositivo.
Com um sistema de CI/CD de terceiros
Como alternativa a executar code scanning no GitHub usando GitHub Actions, você pode analisar o código em um sistema de CI/CD externo e então enviar os resultados para GitHub.
CodeQL CLI é uma ferramenta autônoma de linha de comando que pode ser usada para analisar código. Você pode adicionar o CodeQL CLI ao seu sistema de terceiros ou utilizar outra ferramenta de análise estática de terceiros capaz de gerar resultados no formato SARIF (Static Analysis Results Interchange Format) 2.1.0. Para saber mais, confira [AUTOTITLE](/code-security/codeql-cli/getting-started-with-the-codeql-cli/about-the-codeql-cli) e [AUTOTITLE](/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning).
Os alertas para code scanning os quais você gera externamente são exibidos da mesma forma que os code scanning gerados dentro GitHub.
Próximas etapas
Você pode habilitar a configuração padrão para um único repositório, vários repositórios ou todos os repositórios em uma organização ao mesmo tempo.
- Para um único repositório, consulte Como definir a configuração padrão da verificação de código.
- Para habilitação em massa, consulte Como definir a configuração padrão da verificação de código em escala.
Para configurar a configuração avançada, consulte Como definir a configuração avançada para verificação de código.