Observação: o administrador do site precisa habilitar o code scanning para o sua instância do GitHub Enterprise Server a fim de que seja possível usar esse recurso. Se você desejar usar o GitHub Actions para fazer a varredura do seu código, o administrador do site também deverá habilitar o GitHub Actions e configurar a infraestrutura necessária. Para obter mais informações, confira "Configurar a varredura de código para o seu aparelho".
Opções para configurar a code scanning
Você decide como gerar alertas de code scanning e quais ferramentas usar no nível de um repositório. O GitHub Enterprise Server 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 os marcadores a seguir e "Sobre a varredura de código".
-
CodeQL : usa GitHub Actions (vide abaixo) ou executa a análise de CodeQL em um sistema de CI (integração contínua) de terceiros (confira "Sobre a varredura de código de CodeQL no seu sistema de CI").
-
Terceiro: usa GitHub Actions ou resultados de upload e ferramenta de terceiros para GitHub Enterprise Server (confira "Fazer o upload de arquivo SARIF para o GitHub").
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 obter mais informações, confira "Sobre alertas de digitalização de códigos".
Observação: este artigo descreve os recursos disponíveis na versão da ação do CodeQL e o pacote da CodeQL CLI associado incluído na versão inicial desta versão do GitHub Enterprise Server. Se sua empresa usa uma versão mais recente da ação CodeQL, confira a versão GitHub Enterprise Cloud deste artigo para obter informações sobre os recursos mais recentes. Para obter mais informações sobre como usar a versão mais atual, confira "Configurar a varredura de código para o seu aparelho".
Como configurar manualmente a code scanning
-
No sua instância do GitHub Enterprise Server, navegue até a página principal do repositório.
-
Abaixo do nome do repositório, clique em Segurança. Caso não consiga ver a guia "Segurança", selecione o menu suspenso e clique em Segurança.
-
À direita de "Alertas do Code scanning", clique em Configurar code scanning . Se a opção "Alertas do code scanning" estiver ausente, você precisará pedir a um proprietário da organização ou a um administrador do repositório para habilitar o GitHub Advanced Security. Para obter mais informações, confira "Gerenciando as configurações de segurança e de análise da sua organização" ou "Gerenciando as configurações de segurança e análise do repositório".
-
Em "Introdução à code scanning", clique em Configurar este fluxo de trabalho no Fluxo de trabalho de análise do CodeQL ou em um fluxo de trabalho de terceiros.
Os fluxos de trabalho só serão exibidos se forem relevantes para as linguagens de programação detectadas no repositório. O Fluxo de trabalho de análise do CodeQL é 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.
-
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 a verificação de código".
-
Clique em Fazer commit das alterações… para ver o formulário das alterações de commit.
-
No campo mensagem do commit, digite uma mensagem do commit.
-
Escolha se você quer fazer commit diretamente no branch padrão ou criar um branch e iniciar uma solicitação de pull.
-
Clique em Confirmar novo arquivo ou Propor novo arquivo.
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 a verificação de código".
Configuração em lote da code scanning
Você pode configurar a 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 a code scanning para seu repositório, você poderá inspecionar a saída das ações conforme forem executadas.
-
No nome do repositório, clique em Ações.
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.
-
Clique na entrada da execução do fluxo de trabalho da code scanning.
-
Clique no nome do trabalho à esquerda. Por exemplo, Analisar (LANGUAGE) .
-
Revise a saída de log das ações deste fluxo de trabalho enquanto elas são executadas.
-
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 "Gerenciamento de alertas de varredura de código para seu repositório".
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.
Quando os trabalhos do code scanning forem concluídos, o GitHub descobrirá se alertas foram adicionados pela solicitação de pull e adicionará a entrada "Resultados do Code scanning/NOME DA FERRAMENTA" à 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
Depois de configurar a code scanning, e permitir que suas ações sejam concluídas, você pode:
- Visualizar todos os alertas de code scanning gerados para este repositório. Para obter mais informações, confira "Gerenciamento de alertas de varredura de código para seu repositório".
- Visualizar todos os alertas gerados para um solicitação de pull enviada após configurar a code scanning. Para obter mais informações, confira "Alertas de varredura de código de triagem em pull requests".
- Configurar notificações para as execuções concluídas. Para obter mais informações, confira "Configurar notificações".
- Visualizar os logs gerados pela análise do code scanning. Para obter mais informações, confira "Visualizar os registros de varredura de código".
- Investigue todos os problemas que ocorrerem com a configuração inicial da code scanning de CodeQL. Para obter mais informações, confira "Solução de problemas de o fluxo de trabalho do CodeQL".
- Personalize como code scanning faz a varredura de código no seu repositório. Para obter mais informações, confira "Como personalizar a verificação de código".