Observação
As detecções de segurança da plataforma IA estão atualmente em prévia pública e sujeitas a alterações.
As detecções de segurança da plataforma IA são conclusões de segurança adicionais produzidas por um mecanismo de verificação baseado em IA que é executado em pull requests e complementa o 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 a prévia pública, as detecções de segurança da plataforma IA exigem uma licença do GitHub Advanced Security e uma licença do 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 da plataforma IA são executadas automaticamente em pull requests em repositórios nos quais a configuração padrão do CodeQL está habilitada e as detecções da plataforma IA tiverem sido 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 conclusões da plataforma IA aparecem junto com os alertas do CodeQL nas guias Conversa e Arquivos alterados de uma pull request. 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. 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
- As detecções de segurança com tecnologia de IA analisam apenas pull requests. Não há suporte para exames completos 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 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.
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.