Skip to main content

Como definir a configuração avançada da verificação de código

Você pode definir aconfiguração avançada para um repositório a fim de encontrar vulnerabilidades de segurança no código usando uma configuração da code scanning altamente personalizável.

Quem pode usar esse recurso

People with admin permissions to a repository, or the security manager role for the repository, can configure code scanning for that repository. People with write permissions to a repository can also configure code scanning, but only by creating a workflow file or manually uploading a SARIF file.

A Code scanning está disponível para todos os repositórios públicos do GitHub.com. Para usar code scanning em um repositório privado pertencente a uma organização, você precisa ter um licença do GitHub Advanced Security. Para obter mais informações, confira "Sobre a Segurança Avançada do GitHub".

Sobre a configuração avançada da code scanning

A configuração avançada da code scanning é útil quando você precisa ter um controle mais granular sobre a configuração da code scanning. Ao criar e editar um arquivo de fluxo de trabalho do CodeQL, você pode alterar o agendamento de verificação, verificar qualquer linguagem compatível com o CodeQL, usar um build de matriz, entre outros.

Você também pode configurar a code scanning com ferramentas de terceiros. Para obter mais informações, confira "Como configurar a code scanning usando as ações de terceiros".

Se você executar a verificação de código usando várias configurações, o mesmo alerta às vezes será gerado por mais de uma configuração. Se um alerta for proveniente de várias configurações, você poderá exibir o status do alerta de cada configuração na página de alertas. Para obter mais informações, confira "Sobre alertas de digitalização de códigos".

Caso não precise de uma configuração altamente personalizável da code scanning, considere o uso da configuração padrão da code scanning. Para obter mais informações sobre a qualificação para a configuração padrão, confira "Como definir a configuração padrão da verificação de código".

Pré-requisitos

Seu repositório está qualificado para a configuração avançada se:

  • ele usa linguagens compatíveis com o CodeQL ou se você pretende gerar resultados da verificação de código com uma ferramenta de terceiros.
  • As GitHub Actions estão habilitadas.
  • estão publicamente visíveis, ou o GitHub Advanced Security está habilitado.

Como definir a configuração avançada de um repositório

A configuração avançada da code scanning é útil quando você precisa personalizar a code scanning. Ao criar e editar um arquivo de fluxo de trabalho, você pode escolher as consultas que serão executadas, alterar o agendamento de verificação, selecionar as linguagens a serem verificadas, usar um build de matriz, entre outros.

Como definir a configuração avançada da code scanning com o CodeQL

Você pode personalizar sua code scanning criando e editando um arquivo de fluxo de trabalho. A seleção da configuração avançada gera um arquivo de fluxo de trabalho básico para você personalizar.

O uso de ações para executar a code scanning usará minutos. Para obter mais informações, confira "Sobre a cobrança das GitHub Actions".

  1. No GitHub.com, navegue até a página principal do repositório.

  2. 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.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Configurações" é realçada por um contorno laranja-escuro.

  3. Na seção "Segurança" da barra lateral, clique em Segurança de código e análise.

  4. Role para baixo até a seção "Code scanning", selecione Configurar e clique em Avançado.

    Observação: se você estiver mudando da configuração padrão para a configuração avançada, na seção "Code scanning" selecione e clique em Mudar para avançada. Na janela pop-up exibida, clique em Desabilitar CodeQL .

    Captura de tela da seção do "Code scanning" das configurações de "Segurança e análise de código". O botão "Configuração avançada" é realçado com um contorno laranja.

  5. Para personalizar como code scanning faz a varredura do seu código, edite o fluxo de trabalho.

    Geralmente, você pode fazer commit do Fluxo de trabalho de análise do CodeQL sem fazer nenhuma alteração a ele. No entanto, muitos dos fluxos de trabalho de terceiros exigem configuração adicional, portanto, leia os comentários no fluxo de trabalho antes de fazer commit.

    Para obter mais informações, confira "Como personalizar sua configuração avançada para a verificação de código" e "Verificação de código do CodeQL para linguagens compiladas."

  6. Clique em Fazer commit das alterações… para ver o formulário das alterações de commit.

    Captura de tela do formulário para criar um arquivo. À direita do nome do arquivo, um botão verde, rotulado como "Confirmar alterações...", está contornado em laranja escuro.

  7. No campo mensagem do commit, digite uma mensagem do commit.

  8. Escolha se você quer fazer commit diretamente no branch padrão ou criar um branch e iniciar uma solicitação de pull.

  9. Clique em Fazer commit de novo arquivo para fazer commit do arquivo de fluxo de trabalho no branch padrão ou clique em Propor novo arquivo para fazer commit do arquivo em um novo branch.

  10. Se você criou um branch, clique em Criar solicitação de pull e abra uma solicitação de pull para mesclar a alteração no branch padrão.

No Fluxo de trabalho de análise do CodeQL sugerido, a code scanning está configurada para analisar o código cada vez que você efetua push de uma alteração para a ramificação padrão ou para qualquer ramificação protegida ou quando aciona uma solicitação de pull na ramificação padrão. Como resultado, code scanning vai começar agora.

Os gatilhos on:pull_request e on:push para varredura de código são úteis para finalidades diferentes. Para obter mais informações, confira "Como personalizar sua configuração avançada para a verificação de código".

Para obter informações sobre habilitação em massa, consulte "Como definir a configuração avançada da verificação de código com o CodeQL em escala".

Como configurar a code scanning usando ações de terceiros

Observação: os fluxos de trabalho iniciais do Advanced Security foram consolidados em uma categoria "Segurança" na guia Ações de um repositório. Atualmente, a nova configuração está em versão beta e sujeita a alterações.

O GitHub Enterprise Cloud fornece fluxos de trabalho iniciais para recursos de segurança como code scanning. Você pode usar esses fluxos de trabalho sugeridos para construir seus fluxos de trabalho de code scanning, ao invés de começar do zero.

O uso de ações para executar a code scanning usará minutos. Para obter mais informações, confira "Sobre a cobrança das GitHub Actions".

  1. No GitHub.com, navegue até a página principal do repositório.

  2. No nome do repositório, clique em Ações.

    Captura de tela das guias do repositório "github/docs". A guia "Ações" está realçada com um contorno laranja.

  3. Se o repositório já tiver pelo menos um fluxo de trabalho configurado e em execução, clique em Novo fluxo de trabalho para exibir os fluxos de trabalho iniciais. Se, atualmente, não houver fluxos de trabalho configurados para o repositório, vá para a próxima etapa.

    Captura de tela da guia Ações de um repositório. O botão "Novo fluxo de trabalho" está contornado em laranja escuro.

  4. Na exibição "Escolher um fluxo de trabalho" ou "Introdução ao GitHub Actions", role para baixo até a categoria "Segurança" e clique em Configurar no fluxo de trabalho que você deseja configurar. Talvez seja necessário clicar em Exibir tudo para localizar o fluxo de trabalho de segurança que deseja configurar.

    Captura de tela da categoria Segurança dos fluxos de trabalho iniciais. O botão Configurar e o link "Exibir tudo" são realçados com um contorno laranja.

  5. Siga as instruções no fluxo de trabalho para personalizá-lo de acordo com suas necessidades. Para obter mais assistência geral sobre fluxos de trabalho, clique em Documentação no painel direito da página de fluxo de trabalho.

    Captura de tela mostrando um arquivo de fluxo de trabalho inicial aberto para edição. O botão "Documentação" é realçado com um contorno laranja.

    Para obter mais informações, confira "Usando fluxos de trabalho iniciais" e "Como personalizar sua configuração avançada para a verificação de código."

Próximas etapas

Depois de configurar a code scanning, e permitir que suas ações sejam concluídas, você pode: