Sobre o Varredura de código
Varredura de código é 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 Varredura de código para executar análise de CodeQL e análise de terceiros. Varredura de código 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 Varredura de código use ações.
|
Opções para gerar alertas |
---|---|
CodeQL | Using GitHub Actions (see "Setting up Varredura de código using actions") or running CodeQL analysis in a third-party continuous integration (CI) system (see "About CodeQL Varredura de código in your CI system"). |
Third‑party | Using GitHub Actions (see "Setting up Varredura de código using actions") or generated externally and uploaded to GitHub Enterprise Server (see "Uploading a SARIF file to GitHub"). |
Verificando se a sua licença inclui Segurança Avançada GitHub
You can identify if your enterprise has a Segurança Avançada GitHub license by reviewing the Console de gerenciamento. For more information, see "Enabling GitHub Advanced Security for your enterprise."
Pré-requisitos para Varredura de código
-
Uma licença para Segurança Avançada GitHub
-
Varredura de código habilitado no console de gerenciamento (consulte "Habilitando Segurança Avançada GitHub para a sua empresa")
-
Uma VM ou contêiner para que a análise de Varredura de código seja executada.
Executar Varredura de código usando GitHub Actions
Configurar um executor auto-hospedado
GitHub Enterprise Server pode executar Varredura de código 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, consulte "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.
Provisionando ações para Varredura de código
Se você deseja usar ações para executar Varredura de código em GitHub Enterprise Server, as ações deverão estar disponíveis no seu dispositivo.
A ação CodeQL está incluída na sua instalação de GitHub Enterprise Server. Se GitHub Enterprise Server tiver acesso � internet, a ação fará automaticamente o download do pacote de CodeQL necessário para realizar a análise. Como alternativa, você pode usar uma ferramenta de sincronização para tornar o pacote de análise de CodeQL disponível localmente. Para obter mais informações, consulte "Configurar CodeQL análise em um servidor sem acesso � internet" abaixo.
Você também pode disponibilizar ações de terceiros para os usuários de Varredura de código, configurando GitHub Connect. Para obter mais informações, consulte "Configurar GitHub Connect para sincronizar 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 Varredura de código 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, consulte "Habilitando GitHub Connect."
- Você também precisa habilitar o GitHub Actions para your GitHub Enterprise Server instance. Para obter mais informações, consulte "Primeiros passos com GitHub Actions for GitHub Enterprise Server".
- A próxima etapa é configurar o acesso a ações no GitHub.com usando GitHub Connect. Para obter mais informações, consulte "Habilitar o acesso automático � s ações de 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, consulte "Adicionando 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 Varredura de código 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, consulte "Instalando a CLI do CodeQL no seu sistema de CI."
Executar Varredura de código usando o Executor do CodeQL
Note: The Executor do CodeQL is being deprecated. On GitHub Enterprise Server 3.0 and greater, you can install CodeQL CLI version 2.6.3 to replace Executor do CodeQL.
For more information, see the CodeQL runner deprecation. Para obter informações sobre a migração para CodeQL CLI, consulte "Migrando do executador do CodeQL para a CLI do CodeQL".
Se você não quiser usar GitHub Actions, você poderá executar Varredura de código usando o Executor do CodeQL.
O Executor do CodeQL é 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, consulte "Executar o Varredura de código no seu sistema de CI".