Skip to main content

Detecção responsável de segredos genéricos com a varredura de segredos do Copilot

Saiba como o Verificação de segredos do Copilot usa IA de forma responsável para analisar e criar alertas para segredos não estruturados, como senhas.

Quem pode usar esse recurso?

O Verificação de segredos do Copilot está disponível para os seguintes tipos de repositórios:

Sobre detecção de segredo genérico com Verificação de segredos do Copilot

O recurso Verificação de segredos do Copilot do detecção de segredo genérico é uma expansão com inteligência artificial do secret scanning que identifica segredos não estruturados (senhas) no seu código-fonte e gera um alerta.

Observação

Você não precisa de uma assinatura de GitHub Copilot para usar o detecção de segredo genérico do Verificação de segredos do Copilot. Os recursos do Verificação de segredos do Copilot estão disponíveis para repositórios de propriedade de organizações e empresas que têm uma licença para o GitHub Secret Protection.

Os usuários do GitHub Secret Protection já podem receber alertas de escaneamento de segredos para padrões de parceiros ou personalizados encontrados em seu código-fonte, mas segredos não estruturados não são facilmente detectáveis. Verificação de segredos do Copilot usa modelos de linguagem grandes (LLMs) para identificar esse tipo de segredo.

Quando uma senha é detectada, um alerta é exibido na lista "Generic" de secret scanning (na guia Security do repositório, da organização ou da empresa), de modo que os mantenedores e gerentes de segurança possam revisar o alerta e, quando necessário, remover a credencial ou implementar uma correção.

Para usuários com GitHub Enterprise Cloud, um proprietário da empresa deve primeiro definir uma política no nível empresarial que controla se o detecção de segredo genérico pode ser habilitado e desabilitado em repositórios de uma organização. Por padrão, essa política é definida como "permitida". O recurso deve ser habilitado para repositórios e organizações.

Processamento de entrada

A entrada é limitada ao texto (normalmente código) que um usuário verificou em um repositório. O sistema fornece esse texto para o LLM com um meta prompt solicitando que o LLM encontre senhas dentro do escopo da entrada. O usuário não interage diretamente com o LLM.

O sistema verifica senhas usando o LLM. Nenhum dado adicional é coletado pelo sistema, além do que já é coletado pelo recurso de secret scanning existente.

Saída e exibição

O LLM verifica se há cadeias de caracteres semelhantes a senhas e verifica se as cadeias de caracteres identificadas incluídas na resposta realmente existem na entrada.

Essas cadeias de caracteres detectadas são exibidas como alertas na página de alertas de secret scanning, mas são exibidas em uma lista adicional separada dos alertas de escaneamento de segredos. A intenção é que essa lista separada passe por uma triagem mais cuidadosa para verificar a validade das descobertas. Cada alerta observa que ele foi detectado usando IA. Para obter informações sobre como visualizar alertas para segredos genéricos, consulte Exibindo e filtrando alertas do escaneamento de segredos.

Melhorar o desempenho de detecção de segredo genérico

Para melhorar o desempenho de detecção de segredo genérico, recomendamos o fechamento adequado de alertas falsos positivos.

Verificar a precisão dos alertas e fechar conforme apropriado

Como o recurso Verificação de segredos do Copilot do detecção de segredo genérico pode gerar mais falsos positivos do que o recurso existente do secret scanning para padrões de parceiros, é importante que você revise a precisão desses alertas. Quando você verificar que um alerta é um falso positivo, feche o alerta e marque o motivo como "Falso positivo" na interface do usuário do GitHub. A equipe de desenvolvimento do GitHub usará informações sobre o volume de falsos positivos e locais de detecção para aprimorar o modelo. GitHub não tem acesso aos literais secretos em si.

Limitações de detecção de segredo genérico

Ao usar o Verificação de segredos do Copilot's detecção de segredo genérico, você deve considerar as seguintes limitações.

Escopo limitado

Detecção de segredo genérico atualmente só procura por instâncias de senhas no conteúdo do git. O recurso não procura outros tipos de segredos genéricos nem procura segredos em conteúdo não git, como GitHub Issues.

Potencial para alertas de falso positivo

O recurso Detecção de segredo genérico pode gerar mais alertas falsos positivos em comparação com o recurso existente secret scanning (que detecta padrões de parceiros e tem uma taxa de falsos positivos muito baixa). Para reduzir esse ruído em excesso, os alertas são agrupados em uma lista distinta dos alertas de padrões de parceiros e os gerentes e mantenedores de segurança devem fazer triagem de cada alerta para verificar sua precisão.

Potencial para relatórios incompletos

Detecção de segredo genérico pode não detectar instâncias de credenciais armazenadas em um repositório. O LLM vai melhorar com o tempo. Você tem a responsabilidade final de garantir a segurança do seu código.

Limitações por design

Detecção de segredo genérico tem as seguintes limitações por design:

  • Verificação de segredos do Copilot não detectará segredos que sejam obviamente falsos, senhas de teste ou senhas com baixa entropia.
  • Verificação de segredos do Copilot só detectará um máximo de 100 senhas por vez.
  • Se cinco ou mais segredos detectados em um único arquivo forem marcados como falsos positivos, Verificação de segredos do Copilot deixará de gerar novos alertas para esse arquivo.
  • Verificação de segredos do Copilot não detecta segredos em arquivos gerados ou fornecidos pelo cliente.
  • Verificação de segredos do Copilot não detecta segredos em arquivos criptografados.
  • Verificação de segredos do Copilot não detecta segredos nos seguintes tipos de arquivo: SVG, PNG, JPEG, CSV, TXT, SQL ou ITEM.
  • Verificação de segredos do Copilot não detecta segredos no código de teste. A Verificação de segredos do Copilot ignora detecções quando ambas as condições são atendidas:
    • O caminho do arquivo contém "test", "mock" ou "spec", AND
    • A extensão do arquivo é .cs, .go, .java, .js, .kt, .php, .py, .rb, .scala, .swift ou .ts.

Avaliação de detecção de segredo genérico

Detecção de segredo genérico foi submetido a testes de intrusão de IA responsáveis ​​e a GitHub continuará monitorando a eficácia e a segurança do recurso ao longo do tempo.

Próximas etapas

  •         [AUTOTITLE](/code-security/secret-scanning/copilot-secret-scanning/enabling-ai-powered-generic-secret-detection)
    
  •         [AUTOTITLE](/code-security/secret-scanning/managing-alerts-from-secret-scanning)
    

Leitura adicional

  •         [AUTOTITLE](/code-security/secret-scanning/introduction/about-secret-scanning)