Sobre a code scanning
Code scanning é um recurso que você usa para analisar o código em um repositório de GitHub para localizar vulnerabilidades de segurança e erros de codificação. Quaisquer problemas identificados pela análise são exibidos em GitHub Enterprise Server.
Você pode configurar code scanning para executar análise de CodeQL e análise de terceiros. Code scanning também é compatível com a análise de execução nativa que utiliza GitHub Actions ou externamente que utiliza a infraestrutura de CI/CD existente. Os marcadores abaixo resumem todas as opções disponíveis para os usuários quando você configura o your GitHub Enterprise Server instance para permitir que a code scanning use ações.
-
CodeQL : usa GitHub Actions (confira abaixo) ou executa a análise de CodeQL em um sistema de CI (integração contínua) de terceiros (confira "Sobre CodeQL code scanning em seu sistema de CI").
-
Terceiros: usa GitHub Actions ou ferramentas de terceiros e carrega resultados no GitHub Enterprise Server (confira "Como carregar um arquivo SARIF no GitHub").
Verificando se a sua licença inclui GitHub Advanced Security
Identifique se a sua empresa tem uma licença do GitHub Advanced Security revisando as configurações da empresa. Para obter mais informações, confira "Como habilitar o GitHub Advanced Security para sua empresa".
Pré-requisitos para code scanning
-
Uma licença do GitHub Advanced Security (confira "Sobre a cobrança do GitHub Advanced Security")
-
A Code scanning habilitada no console de gerenciamento (confira "Como habilitar o 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
Configurar um executor auto-hospedado
GitHub Enterprise Server pode executar code scanning usando um fluxo de trabalho de 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. Para obter mais informações, confira "Sobre os executores auto-hospedados" e "Como 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.
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.4 e o executor do GitHub Actions tiverem acesso à Internet, a ação baixará automaticamente o pacote da 2.7.6 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. Para obter mais informações, confira "Como configurar a análise do 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. Para obter mais informações, confira "Como configurar o GitHub Connect para sincronizar o GitHub Actions" 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. Para obter mais informações, confira "Como habilitar o GitHub Connect".
- Você também precisará habilitar o GitHub Actions para o your GitHub Enterprise Server instance. Para obter mais informações, confira "Introdução ao GitHub Actions para GitHub Enterprise Server".
- A próxima etapa é configurar o acesso a ações no GitHub.com usando GitHub Connect. Para obter mais informações, confira "Como habilitar o acesso automático às ações do GitHub.com usando o GitHub Connect".
- Adicione um executor auto-hospedado ao seu repositório, organização ou conta corporativa. Para obter mais informações, confira "Como 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. Para obter mais informações, confira "Como instalar a CLI do CodeQL no seu sistema de CI".