Skip to main content

Configurar a varredura de código para um repositório

Você pode configurar code scanning adicionando um fluxo de trabalho ao seu repositório.

Who can use this feature

If you have write permissions to a repository, you can set up or configure code scanning for that repository.

Code scanning está disponível para todos os repositórios públicos no GitHub.com. Code scanning também está disponível em repositórios privados pertencentes às organizações que usam o GitHub Enterprise Cloud e têm uma licença do GitHub Advanced Security. Para obter mais informações, confira "Sobre o GitHub Advanced Security".

Opções para configuração de code scanning

Você decide como gerar alertas de code scanning e quais ferramentas usar no nível de um repositório. O GitHub fornece suporte totalmente integrado para a análise do CodeQL e também é compatível com ferramentas de análise usando ferramentas de terceiros. Para obter mais informações, confira "Sobre a code scanning".

Tipo de análiseOpções para gerar alertas
CodeQLUsando GitHub Actions (veja "Configurando code scanning usando ações") ou executando a análise do CodeQL em um sistema de CI (integração contínua) de terceiros (confira "Sobre CodeQL code scanning em seu sistema de CI").
Third‑partyUsando GitHub Actions (veja "Configurando code scanning usando ações") ou gerado externamente e carregado no GitHub (veja "Carregando um arquivo SARIF no GitHub").

Se você executar a verificação de código usando várias configurações, às 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 obter mais informações, confira "Sobre as origens da análise".

Configurar code scanning usando fluxos de trabalho iniciais

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 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. Os fluxos de trabalho iniciais de Code scanning estão disponíveis apenas para o seu repositório se code scanning estiver habilitado.

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

  1. No , navegue até a página principal do repositório. 1. Abaixo do nome do repositório, clique em Actions. Guia Actions no menu de navegação do repositório principal
  2. Se o repositório já tiver, pelo menos, um fluxo de trabalho configurado e em execução, clique em Novo fluxo de trabalho e vá para a etapa 5. Se, atualmente, não houver fluxos de trabalho configurados para o repositório, vá para a próxima etapa. Captura de tela do botão Novo fluxo de trabalho
  3. Role a página para baixo até a categoria "Segurança" e clique em Configurar no fluxo de trabalho que deseja configurar ou clique em Exibir tudo para ver todos os fluxos de trabalho de segurança disponíveis. Captura de tela da seção Segurança de fluxos de trabalho do Actions
  4. No painel direito da página do fluxo de trabalho, clique em Documentação e siga as instruções na tela para adaptar o fluxo de trabalho às suas necessidades. Captura de tela da guia Documentação de fluxos de trabalho iniciais Para obter mais informações, confira "Como usar fluxos de trabalho iniciais" e "Como configurar a code scanning".

Configurando code scanning manualmente

Você pode configurar o code scanning em qualquer repositório público em que você tenha acesso de gravação.

O uso de ações para executar a code scanning usará minutos. Para obter mais informações, confira "Sobre a cobrança do GitHub Actions". 1. No , navegue até a página principal do repositório. 1. Abaixo do nome do repositório, clique em Segurança. Guia Segurança

  1. À direita de "Code scanning alertas", clique em Configurar dados code scanning . Para obter mais informações, veja "Gerenciando configurações de segurança e análise em sua organização" ou "Gerenciando configurações de segurança e análise em seu repositório". Botão "Configurar a code scanning" à direita da "Code scanning" na Visão Geral de Segurança

  2. Em "Introdução à code scanning", clique em Configurar este fluxo de trabalho no CodeQL analysis workflow ou em um fluxo de trabalho de terceiros. O botão "Configurar este fluxo de trabalho" no título "Introdução à code scanning"Os fluxos de trabalho só serão exibidos se forem relevantes para as linguagens de programação detectadas no repositório. O CodeQL analysis workflow é sempre exibido, mas o botão "Configurar este fluxo de trabalho" só fica habilitado se a análise do CodeQL dá suporte às linguagens presentes no repositório.

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

    Geralmente, você pode fazer commit do CodeQL analysis workflow sem fazer nenhuma alteração nele. 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 configurar a code scanning".

  4. Clique na lista suspensa Iniciar commit e digite uma mensagem de commit. Iniciar commit

  5. Escolha se você gostaria de confirmar diretamente na ramificação padrão ou criar uma ramificação e iniciar uma solicitação de pull. Escolher o local do commit

  6. Clique em Confirmar novo arquivo ou Propor novo arquivo.

No CodeQL analysis workflow padrão, a code scanning está configurada para analisar o código cada vez que você efetua push de uma alteração para o branch padrão ou para qualquer branch protegido ou quando aciona uma solicitação de pull no branch 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 verificar solicitações de pull" e "Como fazer a verificação durante o push".

Configuração em massa de code scanning

Você pode configurar code scanning em vários repositórios de uma vez usando um script. Caso deseje usar um script para gerar solicitações de pull que adicionam um fluxo de trabalho do GitHub Actions a vários repositórios, confira o repositório jhutchings1/Create-ActionsPRs para ver um exemplo do uso do PowerShell ou nickliffen/ghas-enablement para as equipes que não têm o PowerShell e desejam usar o NodeJS.

Visualizar a saída do registro de code scanning

Depois de configurar o code scanning para o seu repositório, você poderá inspecionar a saída das ações conforme forem executadas.

  1. Abaixo do nome do repositório, clique em Actions. Guia Actions no menu de navegação do repositório principal

    Você verá uma lista que inclui uma entrada para executar o fluxo de trabalho de code scanning. O texto da entrada é o título que você deu à sua mensagem de commit.

    Lista de ações que mostram o fluxo de trabalho de code scanning

  2. Clique na entrada para o fluxo de trabalho de code scanning.

  3. Clique no nome do trabalho à esquerda. Por exemplo, Analisar (LANGUAGE) .

    Saída do log do fluxo de trabalho de code scanning

  4. Revise a saída de log das ações deste fluxo de trabalho enquanto elas são executadas.

  5. Depois que todos os trabalhos forem concluídos, você poderá visualizar os as informações dos alertas de code scanning que foram identificados. Para obter mais informações, confira "Como gerenciar alertas da code scanning do seu repositório".

Observação: se você gerou uma solicitação de pull para adicionar o fluxo de trabalho da code scanning ao repositório, os alertas da solicitação de pull só são exibidos diretamente na página da Code scanning quando a solicitação de pull é mesclada. Se algum alerta for encontrado, você poderá vê-los antes da mesclagem da solicitação de pull clicando no link n alertas encontrados no banner da página da Code scanning.

Clique no link "n alertas encontrados"

Entendendo as verificações de pull request

Cada fluxo de trabalho de code scanning que você configurar para ser executado em pull requests sempre terá pelo menos duas entradas listadas na seção de verificações de um pull request. Há uma entrada para cada um dos trabalhos de análise no fluxo de trabalho e uma entrada final para os resultados da análise.

Os nomes das verificações de análise de code scanning assumem a forma: "TOOL NAME / JOB NAME (TRIGGER)." Por exemplo, para CodeQL, a análise do código C++ tem a entrada "CodeQL / Analyze (cpp) (pull_request)." Clique em Detalhes em uma entrada da análise da code scanning para ver os dados de log. Isso permite que você corrija um problema caso ocorra uma falha no trabalho de análise. Por exemplo, para a análise de code scanning de linguagens compiladas, isto pode acontecer se a ação não puder criar o código.

Verificações de pull request de code scanning

Quando os trabalhos de code scanning forem concluídos, GitHub calcula se quaisquer alertas foram adicionados pelo pull request e adiciona a entrada "Code scanning results / TOOL NAME" à lista de verificações. Depois que a code scanning for executada, pelo menos, uma vez, clique em Detalhes para ver os resultados da análise.

Próximas etapas

Após configurar a opção code scanning, e permitir que suas ações sejam concluídas, você pode: