Skip to main content

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

Você pode configurar a configuração avançada para um repositório para encontrar vulnerabilidades de segurança em seu código usando uma configuração de code scanning altamente personalizável.

Quem pode usar esse recurso?

Proprietários de repositórios, proprietários de organizações, gerentes de segurança e usuários com a função de administrador

O Code scanning está disponível para os seguintes tipos de repositório:

  • Repositórios públicos no GitHub.com
  • Repositórios de propriedade da organização em GitHub Enterprise Cloud com GitHub Advanced Security habilitado

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

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 definir como compilar linguagens compiladas, escolher quais consultas executar, selecionar as linguagens a serem verificadas, usar uma compilação 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. Para obter mais informações sobre os fluxos de trabalho do GitHub Actions, confira Sobre fluxos de trabalho.

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

Caso não precise de uma configuração altamente personalizável da code scanning, considere o uso da configuração padrão para 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 será é elegível para configuração avançada se atender a esses requisitos.

  • 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 da code scanning com o CodeQL

Você pode personalizar sua análise CodeQL criando e editando um arquivo de fluxo de trabalho. Selecionar a configuração avançada gera um arquivo de fluxo de trabalho básico para você personalizar. Utilize a sintaxe padrão de fluxo de trabalho e especifique opções para a ação CodeQL. Confira Sobre fluxos de trabalho e Personalizando a configuração avançada para varredura de código.

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

  1. Em GitHub, acesse 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 "Security" da barra lateral, clique em Code security.

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

    Note

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

    Captura de tela da seção "Code scanning" das configurações "Code security". 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 saber mais, confira Personalizando a configuração avançada para varredura 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. Confira Personalizando a configuração avançada para varredura de código e Acionando um fluxo de trabalho.

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

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

O GitHub inclui modelos de fluxo de trabalho para ações de terceiros, bem como para a ação do CodeQL. Usar um modelo de fluxo de trabalho é muito mais fácil do que escrever um fluxo de trabalho sem ajuda.

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

  1. Em GitHub, acesse 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 modelos de fluxo de trabalho. 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 modelos de fluxo de trabalho. 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 modelo de fluxo de trabalho aberto para edição. O botão "Documentação" é realçado com um contorno laranja.

    Para saber mais, confira Usando modelos de fluxo de trabalho e Personalizando a configuração avançada para varredura de código.

Próximas etapas

Depois que seu fluxo de trabalho for executado com sucesso, pelo menos, uma vez, você estará pronto para verificar e resolver os alertas da code scanning. Para obter mais informações sobre os alertas da code scanning, confira Sobre alertas de digitalização de códigos e Avaliar alertas de verificação de código para seu repositório.

Saiba como execuções code scanning se comportam como verificações em pull requests, consulte Alertas de varredura de código de triagem em pull requests.

Encontre informações detalhadas sobre a configuração da code scanning, incluindo os carimbos de data/hora de cada verificação e o percentual de arquivos verificados, na página de status da ferramenta. Para saber mais, confira Sobre a página de status da ferramenta para a verificação de código.

Leitura adicional