Verificação de código e o CodeQL

Concluído

Dependendo da ferramenta que você quer usar para análise e de como pretende gerar alertas, há algumas opções diferentes para configurar a verificação de código no repositório. As três principais maneiras são:

  • Usar a configuração padrão para definir rapidamente a análise do CodeQL para verificação de código no repositório. A configuração padrão escolhe automaticamente as linguagens a serem analisadas, o pacote de consultas a ser executado e os eventos que disparam as verificações. Se preferir, selecione manualmente o conjunto de consultas a ser executado e as linguagens a serem analisadas. Depois que você habilitar o CodeQL, o GitHub Actions fará execuções de fluxo de trabalho para verificar seu código. Para obter mais informações, confira “Como definir a configuração padrão para a verificação de código”.
  • Use a configuração avançada para adicionar o fluxo de trabalho do CodeQL ao seu repositório. Isso gera um arquivo de fluxo de trabalho personalizável que usa o github/codeql-action para executar a CLI do CodeQL. Para obter mais informações, confira “Como definir a configuração avançada para a verificação de código”.
  • Execute a CLI do CodeQL diretamente em um sistema de CI externo e carregue os resultados no GitHub. Para saber mais, confira “Como usar a verificação de código com seu sistema de CI existente”.[2]

Anteriormente, aprendemos sobre como começar a usar a configuração padrão e as configurações. Agora, você aprenderá a configurar a verificação de código com a configuração avançada, bem como como executar a instalação em massa de um fluxo de trabalho de verificação de código para vários repositórios.

Verificação de código com o GitHub Actions e o CodeQL

Para configurar a verificação de código com a configuração avançada, faça o seguinte:

  1. Acesse a guia Configurações do repositório.
  2. No painel do lado esquerdo, navegue até Segurança e análise de código, clique na lista suspensa Configuração e selecione Avançado. Talvez seja necessário habilitar o GitHub Advanced Security antes de habilitar a verificação de código.
  3. Você será levado para uma nova página com um arquivo de fluxo de trabalho gerado. Por padrão, esse arquivo é chamado codeql.yml e é um arquivo de fluxo de trabalho configurável que precisa ser confirmado no repositório para que a verificação de código possa começar a ser executada.
  4. Para personalizar como a varredura de código examina seu código, edite o fluxo de trabalho. Em geral, você pode confirmar o fluxo de trabalho de análise do CodeQL sem fazer nenhuma alteração nele.
  5. Use o botão Fazer commit das alterações… no canto superior direito e digite uma mensagem do commit na caixa pop-up.
  6. Escolha se você deseja fazer o commit diretamente no branch padrão ou criar um novo branch e iniciar um pull request (solicitação de pull).
  7. Clique em Confirmar alterações.

No fluxo de trabalho de análise do CodeQL padrão, a verificação de código é configurada para analisar o código sempre que você envia uma alteração por push ao branch padrão ou aos branches protegidos ou gera uma solicitação de pull no branch padrão. Como resultado, a varredura de código começará agora.

Os gatilhos on:pull_request e on:push para varredura de código são úteis para finalidades diferentes.

Configuração em massa da verificação de código

Você pode configurar a verificação de código em vários repositórios ao mesmo tempo usando um script. Se você quiser usar um script para gerar pull requests que adicionam um fluxo de trabalho do GitHub Actions a vários repositórios, confira o repositório jhutchings1/Create-ActionsPRs[3] para ver um exemplo que usa o PowerShell ou nickliffen/ghas-enablement[4] para ver um exemplo com o Node.js.