Skip to main content

Configurar a varredura de código para o seu aparelho

Você pode habilitar, configurar e desativar code scanning para your GitHub Enterprise Server instance. Code scanning permite aos usuários varrer códigos com relação a erros e vulnerabilidades.

Code scanning is available for organization-owned repositories in GitHub Enterprise Server. This feature requires a license for GitHub Advanced Security. Para obter mais informações, confira "Sobre o GitHub Advanced Security".

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. A tabela abaixo resume todas as opções disponíveis para os usuários quando você configurar your GitHub Enterprise Server instance para permitir que code scanning use ações.

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 Enterprise Server (veja "Carregando 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

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.3 tiver acesso à internet, a ação fará automaticamente o download do pacote do CodeQL 2.7.6 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

  1. 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".
  2. Você também precisa habilitar o GitHub Actions para your GitHub Enterprise Server instance. Para obter mais informações, confira "Introdução ao GitHub Actions para GitHub Enterprise Server".
  3. 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".
  4. 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".

Executar code scanning usando o CodeQL runner

Observação: o CodeQL runner está sendo preterido. No GitHub Enterprise Server 3.0 e superior, você pode instalar a CodeQL CLI versão 2.6.3 para substituir o CodeQL runner.

Para obter mais informações, confira a reprovação do executor do CodeQL. Para obter informações sobre como migrar para a CodeQL CLI, confira "Como migrar do executor do CodeQL para a CLI do CodeQL".

Se você não quiser usar GitHub Actions, você poderá executar code scanning usando o CodeQL runner.

O CodeQL runner é uma ferramenta de linha de comando que você pode adicionar ao seu sistema CI/CD de terceiros. A ferramenta executa a análise do CodeQL em um checkout de um repositório do GitHub. Para obter mais informações, confira "Como executar a code scanning no seu sistema de CI".