Skip to main content

Detecções de segurança alimentadas por IA em solicitações de pull

As detecções de segurança alimentadas por IA usam um mecanismo de verificação baseado em IA para encontrar vulnerabilidades de segurança em solicitações de pull para linguagens e estruturas não cobertas por CodeQL.

Observação

As detecções de segurança com tecnologia de IA estão atualmente em prévia pública e sujeitas a alterações.

As detecções de segurança com tecnologia de IA são resultados de segurança adicionais produzidos por um mecanismo de verificação baseado em IA que é executado em pull requests e complementa CodeQL. Ao contrário dos alertas CodeQL, as descobertas com tecnologia 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. As detecções alimentadas por IA expandem code scanning a cobertura nessas áreas, ajudando você a encontrar vulnerabilidades sem adicionar novas ferramentas ou configuração.

Durante o prévia pública, as detecções de segurança com tecnologia de IA exigem 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 as detecções de segurança alimentadas por IA funcionam

As detecções de segurança com tecnologia de IA são executadas automaticamente em pull requests em repositórios nos quais CodeQL a configuração padrão está habilitada e as detecções com tecnologia de IA foram habilitadas. A análise baseada em IA é acionada na criação do pull request e após cada novo commit, assim como em CodeQL.

As descobertas com tecnologia de IA servem apenas como orientação 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.

A varredura por IA é executada independentemente do status de CodeQL. Se CodeQL a configuração padrão falhar ou estiver em um estado de espera, as detecções alimentadas por IA ainda serão executadas.

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 as descobertas geradas por IA antes que os resultados CodeQL apareçam, ou vice-versa.

Como as descobertas aparecem em solicitações de pull

As descobertas alimentadas por IA aparecem junto com CodeQL alertas nas guias Conversa e Arquivos alterados de uma solicitação de pull. Cada descoberta com tecnologia de IA recebe um indicador de "IA" para que você possa diferenciá-la dos alertas CodeQL.

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, Autofixo do Copilot é incluída e fornece uma alteração de código recomendada para corrigir o problema, da mesma forma que faz para CodeQL alertas. Os resultados também incluem um mecanismo de feedback de positivo/negativo que ajuda a melhorar a qualidade da detecção ao longo do tempo.

Limitations

  • As detecções de segurança com tecnologia de IA analisam apenas pull requests. Não há suporte para verificações completas do repositório.
  • As descobertas alimentadas por IA ainda não podem ser usadas em conjuntos de regras para impor requisitos de mesclagem
  • As categorias de detecção e os idiomas compatíveis podem mudar conforme o recurso evolui.
  • Assim como acontece com qualquer ferramenta baseada em IA, as descobertas podem incluir falsos positivos. Use o mecanismo de comentários para relatar resultados imprecisos.

Idiomas com suporte

As detecções de segurança baseadas em IA foram projetadas para abranger linguagens e frameworks que atualmente não são compatíveis com 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

As detecções de segurança alimentadas por IA atualmente abrangem as seguintes categorias. Essas categorias descrevem como as descobertas são classificadas. O scanner de IA pode evoluir ao longo do tempo à medida que os modelos melhoram.

  • Injeção de strings — SQL, HTML, shell, JSON ou YAML inseguros construídos a partir de strings, 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 rastros de pilha armazenados, registrados ou enviados sem 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 suprimentos — ações, pacotes ou imagens de terceiros não fixados, ou downloads sem verificação de integridade.

Habilitar detecções de segurança alimentadas por IA

As detecções de segurança alimentadas por IA não são permitidas no nível empresarial por padrão e desabilitadas nos níveis de organização e repositório. Os administradores corporativos devem permitir explicitamente o recurso antes que as organizações possam habilitá-lo. Os administradores da organização devem aceitar explicitamente o recurso. Os administradores do repositório podem recusar o recurso. Além disso, você precisa ter a CodeQL configuração padrão habilitada.

Você não precisa selecionar um modelo para habilitar detecções de segurança alimentadas por IA.

  • Enterprise: A política de Descobertas 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 descobertas de IA em "Verificação de código" permite detecções alimentadas por IA para repositórios na organização. Consulte Configurações de segurança globais para sua organização.
  • Repositório: a opção Descobertas de IA, em "Análise de código", habilita ou desabilita detecções com tecnologia de IA para este repositório. Repositórios herdam a configuração da organização, mas podem desativar essa opção individualmente.