Sobre a code scanning
A Code scanning é um recurso que você usa para analisar o código em um repositório GitHub para encontrar vulnerabilidades de segurança e erros de codificação. Os problemas que forem identificados pela análise serão mostrados em seu repositório.
Você pode configurar code scanning para executar análise de CodeQL e análise de terceiros. O Code scanning também é compatível com a execução de análise nativa usando GitHub Actions ou externamente usando a infraestrutura de CI/CD existente. Os marcadores abaixo resumem todas as opções disponíveis para os usuários quando você configura o sua instância do GitHub Enterprise Server para permitir que o code scanning use as ações.
- CodeQL: usa o GitHub Actions com a configuração padrão (confira Como definir a configuração padrão da verificação de código) ou a configuração avançada (confira Como definir a configuração avançada para verificação de código), ou executa a análise do CodeQL em um sistema de CI (integração contínua) de terceiros (confira Usando a varredura de código com seu sistema de CI existente).
- Terceiro: usa GitHub Actions ou resultados de upload e ferramenta de terceiros para GitHub (confira Fazer o upload de arquivo SARIF para o GitHub).
Verificando se a sua licença inclui GitHub Advanced Security
Você pode identificar se sua empresa tem uma licença de produtos do Advanced Security examinando as configurações da empresa. Para saber mais, confira Como habilitar produtos GitHub Advanced Security para sua empresa.
Pré-requisitos para code scanning
-
Uma licença para GitHub Advanced Security (consulte Sobre o faturamento da Segurança Avançada do GitHub)
-
Code scanning habilitado no console de gerenciamento (confira Como habilitar produtos GitHub Advanced Security para sua empresa)
-
Uma VM ou contêiner para que a análise de code scanning seja executada.
Executar code scanning usando GitHub Actions
Como provisionar um executor auto-hospedado
O GitHub pode executar a code scanning usando um fluxo de trabalho do GitHub Actions. Primeiro, você precisa fornecer um ou mais executores auto-hospedados de GitHub Actions em seu ambiente. É possível fornecer executores auto-hospedados no nível da conta do repositório, organização ou empresa. Confira Sobre executores auto-hospedados e Adicionar executores auto-hospedados.
Você deve garantir que o Git esteja na variável do PATH em qualquer executor auto-hospedados que você usar para executar ações de CodeQL.
Note
Se você usar a CodeQL para executar a code scanning para analisar o código escrito em Python na sua empresa, verifique se o executor auto-hospedado tem o Python 3 instalado.
Provisionamento de um conjunto de dimensionamento para o executor
É possível usar o Actions Runner Controller com a finalidade de criar um conjunto de dimensionamento para o executor dedicado para sua instância do GitHub Enterprise Server. Confira Como implantar conjuntos de dimensionamento de executores com o Actions Runner Controller.
Provisionando ações para code scanning
Caso você deseje usar ações para executar a code scanning no GitHub Enterprise Server, as ações precisam estar disponíveis no seu dispositivo.
A ação CodeQL está incluída na sua instalação de GitHub Enterprise Server. Se o GitHub Enterprise Server 3.16 e o executor do GitHub Actions tiverem acesso à Internet, a ação baixará automaticamente o pacote da 2.20.3 do CodeQL necessário para realizar a análise. Como alternativa, você pode usar uma ferramenta de sincronização para tornar a versão mais recente do pacote de análise de CodeQL disponível localmente. Consulte Configurar a análise de CodeQL em um servidor sem acesso à internet abaixo.
Você também pode disponibilizar ações de terceiros para os usuários de code scanning, configurando GitHub Connect. Confira Como configurar a verificação de código do seu dispositivo abaixo.
Configurar a análise de CodeQL em um servidor sem acesso à internet
Se o servidor em que você está executando GitHub Enterprise Server não estiver conectado à internet e você deseja permitir que os usuários habilitem CodeQL code scanning para seus repositórios, você deverá usar a ferramenta de sincronização de ação CodeQL para copiar o pacote de análises CodeQL de GitHub.com para seu servidor. A ferramenta e os detalhes de como usá-la estão disponíveis em https://github.com/github/codeql-action-sync-tool.
Se você configurar a ferramenta de sincronização de ação de CodeQL, você poderá usá-la para sincronizar as últimas versões da ação de CodeQL e pacote de análise associado a CodeQL. Estes são compatíveis com GitHub Enterprise Server.
Configurar GitHub Connect para sincronizar GitHub Actions
- Se você deseja fazer o download dos fluxos de trabalho de ação sob demanda a partir de GitHub.com, você deverá habilitar o GitHub Connect. Confira Como habilitar o GitHub Connect no GitHub.com.
- Você também precisará habilitar GitHub Actions. Confira Primeiros passos com o GitHub Actions para o GitHub Enterprise Server.
- A próxima etapa é configurar o acesso a ações no GitHub.com usando GitHub Connect. Confira Habilitar o acesso automático a GitHub.com usando o GitHub Connect.
- Adicione um executor auto-hospedado ao seu repositório, organização ou conta corporativa. Confira Adicionar executores auto-hospedados.
Executando a digitalização de código usando o CodeQL CLI
Se você não quiser usar GitHub Actions, você deverá executar code scanning usando o CodeQL CLI.
O CodeQL CLI é uma ferramenta de linha de comando que você usa para analisar bases de código em qualquer máquina, incluindo um sistema de CI/CD de terceiros. Confira Usando a varredura de código com seu sistema de CI existente.