Sobre o 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álises de CodeQL e análises de terceiros. Code scanning também dá suporte à execução de análise nativamente usando GitHub Actions ou externamente usando a infraestrutura de CI/CD existente. Os marcadores abaixo resumem as opções disponíveis para os usuários quando você configura sua instância do GitHub Enterprise Server para permitir code scanning o uso de 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 sua licença inclui 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 Habilitando GitHub Advanced Securityprodutos para sua empresa.
Pré-requisitos para code scanning
-
Uma licença para GitHub Code Security ou GitHub Advanced Security, (consulte GitHub Advanced Security cobrança de licença)
-
Code scanning habilitado no console de gerenciamento (consulte Habilitando GitHub Advanced Securityprodutos para sua empresa)
-
Uma VM ou um contêiner para executar a análise em code scanning.
Executando code scanning usando GitHub Actions
Como provisionar um executor auto-hospedado
GitHub pode rodar code scanning usando um GitHub Actions fluxo de trabalho. Primeiro, você precisa provisionar um ou mais runners auto-hospedados GitHub Actions em seu ambiente. É possível fornecer executores auto-hospedados no nível da conta do repositório, organização ou empresa. Confira [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners) e [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners).
Você deve garantir que o Git esteja na variável PATH em todos os executores auto-hospedados que você usa para executar CodeQL ações.
Observação
Se você usar CodeQLcode scanning para analisar o código escrito em Python em sua empresa, verifique se o executor auto-hospedado Python 3 está instalado.
Provisionamento de um conjunto de dimensionamento para o executor
Você pode usar Actions Runner Controller para criar um conjunto de dimensionamento de executor dedicado para sua GitHub Enterprise Server instância. Confira Como implantar conjuntos de dimensionamento de executores com o Actions Runner Controller.
Provisionando as ações para code scanning
Se você quiser usar ações para executar code scanning em GitHub Enterprise Server, as ações deverão estar disponíveis em seu aparelho.
A CodeQL ação está incluída na instalação de GitHub Enterprise Server. Se tanto GitHub Enterprise Server3.21 quanto o executor GitHub Actions tiverem acesso à Internet, a ação baixará automaticamente o CodeQL2.24.3 pacote de recursos necessário para executar a análise. Como alternativa, você pode usar uma ferramenta de sincronização para disponibilizar localmente a versão mais recente do pacote de CodeQL análise. Consulte Configurando CodeQL a análise em um servidor sem acesso à Internet abaixo.
Você também pode disponibilizar para os usuários ações de terceiros para code scanning, configurando GitHub Connect. Consulte Configurando a verificação de código para seu dispositivo abaixo.
Configurando a CodeQL análise em um servidor sem acesso à Internet
Se o servidor no qual você está executando GitHub Enterprise Server não estiver conectado à Internet e quiser permitir que os usuários habilitemCodeQLcode scanningseus repositórios, você deverá usar a ferramenta de sincronização de ações CodeQL para copiar o CodeQL pacote de análise do GitHub.com 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 CodeQL ferramenta de sincronização de ações, poderá usá-la para sincronizar as versões mais recentes da ação e do CodeQL pacote de análise associado CodeQL . Eles são compatíveis com GitHub Enterprise Server.
Configurando GitHub Connect para sincronizar GitHub Actions
- Se você quiser baixar os fluxos de trabalho de ação sob demanda do GitHub.com, você precisa habilitar GitHub Connect. Confira Habilitando o GitHub Connect para GitHub.com.
- Você também precisará habilitar GitHub Actions. Confira Introdução ao GitHub Actions do 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 ações de GitHub.com usando GitHub Connect.
- Adicione um executor auto-hospedado ao seu repositório, organização ou conta corporativa. Confira Adicionar executores auto-hospedados.
Execução de verificação de código usando o CodeQL CLI
Se você não quiser usar GitHub Actions, você deve executar code scanning usando o CodeQL CLI.
O CodeQL CLI é uma ferramenta de linha de comando que você usa para analisar código-fonte em qualquer computador, incluindo um sistema de CI/CD de terceiros. Confira Usando a varredura de código com seu sistema de CI existente.