Skip to main content
Skip to content

Verificação de IA para solicitações de pull

O AI Scan usa um mecanismo de varredura baseado em IA para encontrar vulnerabilidades de segurança em pull requests de linguagens e frameworks não cobertos por CodeQL.

Observação

AI Scan está atualmente em prévia pública e sujeito a alterações.

A Análise por IA produz achados de segurança adicionais com um mecanismo de varredura baseado em IA executado em pull requests e complementa CodeQL. Ao contrário dos alertas CodeQL, os resultados da Verificação de IA estão disponíveis apenas em pull requests e não aparecem como alertas pendentes na visão de segurança do repositório.

Embora CodeQL forneça análise estática de alta precisão para um conjunto específico de linguagens e consultas com suporte, muitos repositórios usam linguagens e estruturas que CodeQL não abrangem. A Verificação de IA expande a cobertura nessas áreas code scanning , ajudando você a encontrar vulnerabilidades sem adicionar novas ferramentas ou configuração.

Durante a Verificação de IA prévia pública, é necessária uma licença GitHub Advanced Security e uma licença GitHub Copilot.

O uso consome AI credits. Consulte Cobrança baseada em uso para organizações e empresas.

Como o AI Scan funciona

A Verificação de IA é executada automaticamente quando code scanning está habilitada para um repositório, a configuração efetiva de Verificação de IA do repositório é habilitada e uma solicitação de pull qualificada contém alterações qualificadas em um idioma ou estrutura com suporte que CodeQL não abrange. Essas condições também determinam quando o uso do AI Scan tem início. A varredura é acionada quando uma solicitação de pull request é criada e após cada novo commit, assim como em CodeQL.

A Varredura por IA não requer a configuração padrão CodeQL e não depende do status da análise CodeQL. Se a CodeQL análise falhar ou estiver em estado de espera, o AI Scan ainda será executado.

Os resultados do AI Scan são apenas informativos e não bloqueiam a mesclagem de pull requests. Eles fornecem sinais sobre onde a segurança de código pode ser melhorada sem interromper o fluxo de trabalho.

O mecanismo de verificação de IA funciona diretamente com o código na solicitação de pull e não requer um sistema de build. Ele usa ferramentas como pesquisa de código para coletar contexto adicional do repositório ao decidir se deseja sinalizar um problema. Ele usa seus próprios prompts especializados e não usa arquivos de instrução personalizados, como /.github/copilot-instructions.md ou /CLAUDE.md.

Os resultados são publicados no pull request à medida que são encontrados. Se a verificação CodeQL demorar mais para ser concluída, você poderá ver os resultados da Verificação de IA antes que os resultados de CodeQL apareçam, ou vice-versa.

Como os resultados do AI Scan aparecem em pull requests

As descobertas da Análise por IA aparecem ao lado de alertas CodeQL nas abas Conversa e Arquivos alterados de um pull request. Cada descoberta é rotulada com um indicador de "IA" para que você possa distingui-lo dos CodeQL alertas.

Cada descoberta inclui uma descrição do problema de segurança e uma explicação do risco. A maioria dos achados também inclui uma remediação sugerida, mas nem todo achado tem uma. Quando uma correção sugerida está disponível, Copilot Autofix é incluída e fornece uma alteração de código recomendada para corrigir o problema, da mesma forma que faz para CodeQL alertas. As conclusões também incluem um mecanismo de feedback positivo/negativo que ajuda a melhorar a qualidade da detecção ao longo do tempo.

Limitations

  • A Análise por IA analisa apenas pull requests. Não há suporte para exames completos do repositório.
  • Os resultados da varredura de IA ainda não podem ser usados em conjuntos de regras para exigir requisitos para mesclagem.
  • O AI Scan não é executado em pull requests de forks nem em pull requests criadas por Dependabot.
  • As categorias de detecção e os idiomas compatíveis podem mudar conforme o recurso evolui.
  • Como qualquer ferramenta baseada em IA, os resultados do AI Scan podem incluir falsos positivos. Use o mecanismo de comentários para relatar resultados imprecisos.

Idiomas com suporte

O AI Scan foi projetado para oferecer cobertura a linguagens e frameworks que atualmente não são suportados por CodeQL. Isso inclui, mas não se limita a, idiomas como PHP, Shell/Bash, HCL (configuração do Terraform) e Dockerfiles, bem como lacunas de cobertura de estrutura, como JSP para Java e Blazor para C#.

Para obter uma lista completa de idiomas com CodeQLsuporte, consulte Verificação de código com CodeQL.

Categorias de detecção

Atualmente, a Verificação de IA abrange as categorias a seguir. Essas categorias descrevem como as descobertas são classificadas. O mecanismo de verificação pode evoluir ao longo do tempo à medida que os modelos melhoram.

  • Injeção de cadeias de caracteres – SQL, HTML, shell, JSON ou YAML inseguros criados direto de cadeia de caracteres com escape ou sanitização ausentes ou incorretos.
  • Criptografia fraca – algoritmos fracos, chaves pequenas, aleatoriedade insegura, criptografia ausente ou hash de senha fraca.
  • Controle de acesso quebrado — travessia de diretórios, falhas de CSRF ou redirecionamentos abertos acionados pelo usuário.
  • Exposição de dados confidenciais – Segredos, tokens, senhas ou rastreamentos de pilha armazenados, registrados em log ou enviados sem a proteção adequada.
  • Configuração incorreta de segurança – configurações ou padrões arriscados, como desabilitar controles de segurança ou habilitar recursos de depuração.
  • Falhas de autenticação — Ausência de TLS ou de validação, fluxos de autenticação inseguros ou ausência de limitação de taxa de requisições.
  • Falhas de integridade de dados – desserialização não segura, HTTP para ações confidenciais, poluição de protótipo ou execução de conteúdo não confiável.
  • Falsificação de solicitação do lado do servidor (SSRF) — O servidor busca URLs, hosts ou protocolos controlados por um invasor.
  • Riscos na cadeia de fornecedores – Ações, pacotes ou imagens de terceiros não fixados ou downloads sem verificação de integridade.

Habilitando a verificação de IA

A Verificação de IA não é permitida no nível empresarial por padrão e desabilitada nos níveis de organização e repositório. Os proprietários da empresa devem permitir a Verificação de IA antes que os administradores da organização possam habilitá-la. Habilitar a verificação de IA em uma organização faz com que ela seja aplicada aos repositórios elegíveis em que code scanning está habilitado. Os administradores do repositório podem desativar isso para repositórios individuais. Para um repositório público elegível pertencente a uma conta pessoal, um administrador do repositório deve habilitar a verificação por IA diretamente nesse repositório.

Você não precisa selecionar um modelo para habilitar a Verificação de IA.

  • Enterprise: A política de Verificação de IA em "Segurança de Código" controla se as organizações podem habilitar o recurso. Consulte Como impor políticas para segurança e análise de código na empresa.
  • Organização: a configuração de Verificação de IA em "Verificação de código" permite a Verificação de IA para repositórios qualificados na organização em que code scanning está habilitada. Consulte Configurações de segurança globais para sua organização.
  • Repositório: em um repositório pertencente à organização, a opção Verificação de IA em "Verificação de código" permite que os administradores do repositório a desativem quando a Verificação de IA estiver habilitada na organização. Para um repositório público elegível pertencente a uma conta pessoal, o botão de alternância habilita ou desabilita o AI Scan diretamente.

Você pode usar a API REST para gerenciar a organização ou a configuração do repositório ai-scan . Consulte Pontos de extremidade da API REST para varredura de código.