Skip to main content

Sobre a verificação de segredo

O GitHub verifica repositórios em busca de tipos de segredos conhecidos a fim de impedir o uso fraudulento de segredos que sofreram commit acidentalmente.

Os Alertas de verificação de segredo para parceiros são executados automaticamente em repositórios públicos e pacotes npm públicos para notificar os provedores de serviço sobre os segredos vazados do GitHub.com.

Os Alertas de verificação de segredo para usuários estão disponíveis gratuitamente em todos os repositórios públicos. As organizações que usam o GitHub Enterprise Cloud com uma licença do GitHub Advanced Security também podem habilitar alertas de verificação de segredo para usuários em seus repositórios privados e internos. Para obter mais informações, confira "Sobre a verificação de segredo" e "Sobre a Segurança Avançada do GitHub".

Sobre a secret scanning

Se o seu projeto se comunicar com um serviço externo, você pode usar um token ou uma chave privada para autenticação. Tokens e chaves privadas são exemplos de segredos que um provedor de serviços pode publicar. Se você marcar um segredo em um repositório, qualquer pessoa que tenha acesso de leitura ao repositório pode usar o segredo para acessar o serviço externo com seus privilégios. Recomendamos que você armazene segredos em um local dedicado e seguro fora do repositório do seu projeto.

A Secret scanning verificará todo o histórico do Git em todos os branches presentes no repositório do GitHub em busca de segredos. Secret scanning também localiza descrições de problemas e comentários em busca de segredos.

Além disso, Secret scanning examina os títulos, as descrições e os comentários, em problemas históricos abertos e fechados e relata segredos vazados como alertas no GitHub.

O Secret scanning está disponível no GitHub.com em duas formas:

  1. Alertas de verificação de segredo para parceiros. É executado automaticamente em todos os repositórios públicos e pacotes npm públicos. Os provedores de serviço podem fazer parceria com GitHub para fornecer os respectivos formatos de segredo para verificação, daí vem o termo "parceiros". Para saber mais sobre nosso programa de parceiros, confira "Programa de verificação de segredo de parceiros". As cadeias de caracteres que correspondem aos padrões fornecidos por parceiros da verificação de segredos são relatadas diretamente ao parceiro relevante. Para obter mais informações, confira a seção "Sobre os alertas de verificação de segredo para parceiros" abaixo.

  2. Alertas de verificação de segredo para usuários. Os seguintes usuários podem habilitar e configurar a verificação adicional:

    • Proprietários de repositórios no GitHub.com, em todos os repositórios públicos dos quais são proprietários.
    • Organizações que são proprietárias de repositórios públicos, em qualquer um desses repositórios.
    • As organizações que usam o GitHub Enterprise Cloud, em todos os repositórios públicos (gratuitamente) e em todos os repositórios privados e internos, quando você tiver uma licença para GitHub Advanced Security.

As cadeias de caracteres que correspondem aos padrões fornecidos por parceiros da verificação de segredos ou por outros provedores de serviços ou definidas por você ou pela sua organização são relatadas como alertas na guia Segurança dos repositórios. Se uma cadeia de caracteres em um repositório público corresponder a um padrão de parceiro, ela também será informada ao parceiro. Para obter mais informações, confira a seção "Sobre os alertas de verificação de segredo para usuários" abaixo.

Você pode auditar as ações executadas em resposta aos alertas do secret scanning usando as ferramentas do GitHub. Para obter mais informações, confira "Alertas de segurança de auditoria".

Você também pode habilitar a secret scanning como uma proteção por push para um repositório ou uma organização. Quando você habilita esse recurso, a secret scanning impede que os colaboradores efetuem push de um código com um segredo detectado. Para continuar, os colaboradores precisam remover os segredos do push ou, se necessário, ignorar a proteção. Os administradores também podem especificar um link personalizado que é exibido para o colaborador quando um push é bloqueado; o link pode conter recursos específicos da organização para ajudar os colaboradores. Para obter mais informações, confira "Proteção por push para repositórios e organizações".

Além disso, você pode habilitar a própria proteção por push para contar com essa proteção independentemente do repositório público ao qual efetuará push. Para obter mais informações, confira "Proteção por push para usuários".

Observação: quando você cria fork em um repositório com secret scanning ou proteção por push habilitada, esses recursos não são habilitados por padrão no fork. Você pode habilitar secret scanning ou proteger por push no fork da mesma forma que os habilita em um repositório autônomo.

Sobre os alertas de verificação de segredo para parceiros

Ao tornar público um repositório ou enviar por push de alterações em um repositório público, GitHub sempre digitaliza o código para segredos que correspondem a padrões de parceiros. Os pacotes públicos no registro npm também são examinados. Secret scanning também localiza descrições de problemas e comentários em busca de segredos. Se secret scanning detecta um segredo em potencial, notificamos o provedor de serviços que emitiu o segredo. O prestador do serviço irá validar a string e, em seguida, decidirá se deve revogar o segredo, emitir um novo segredo ou entrar em contato com você diretamente. A sua ação dependerá dos riscos que associados a você ou a eles. Para obter mais informações, confira "Padrões de digitalização de segredo".

Não é possível alterar a configuração da secret scanning para padrões de parceiros em repositórios públicos.

Sobre os alertas de verificação de segredo para usuários

Alertas de verificação de segredo para usuários estão disponíveis gratuitamente em todos os repositórios públicos. Quando você habilita secret scanning para um repositório, GitHub verifica o código em busca de padrões que correspondam aos segredos usados por muitos provedores de serviços. Quando a verificação é concluída, GitHub envia um alerta de email para os proprietários da empresa e da organização, mesmo que nenhum segredo tenha sido encontrado.

Secret scanning também localiza descrições de problemas e comentários em busca de segredos. Quando um segredo com suporte é vazado, o GitHub gera um alerta da secret scanning. O GitHub também executará periodicamente uma verificação completa do histórico do Git no conteúdo existente em repositórios do público em que o secret scanning está habilitado e enviará notificações de alerta seguindo as configurações de notificação de alerta de secret scanning. Para obter mais informações, confira "Segredos compatíveis com os alertas de usuários".

Se você for administrador do repositório, será possível habilitar os alertas de verificação de segredo para usuários em qualquer repositório público. Os proprietários da organização também podem habilitar alertas de verificação de segredo para usuários para todos os repositórios públicos ou para todos os novos repositórios públicos em uma organização. Para obter mais informações, confira "Gerenciando as configurações de segurança e análise do repositório" e "Gerenciando as configurações de segurança e de análise da sua organização."

Você também pode definir padrões personalizados da secret scanning para um repositório, organização ou empresa. Para obter mais informações, confira "Definir padrões personalizados para a verificação de segredo" na documentação do GitHub Enterprise Cloud.

O GitHub armazena os segredos detectados usando criptografia simétrica, tanto em trânsito quanto em repouso.

Como acessar os alertas de verificação de segredo

Quando você habilita secret scanning para um repositório ou envia commits por push a um repositório com a secret scanning habilitada, o GitHub verifica o conteúdo em busca de segredos que correspondam aos padrões definidos pelos provedores de serviço . Secret scanning também localiza descrições de problemas e comentários em busca de segredos. GitHub também executa uma varredura de todo o conteúdo de código histórico em repositórios públicos com secret scanning habilitado quando um novo padrão de parceiro é adicionado ou atualizado.

Se secret scanning detectar um segredo em um commit, descrição do problema ou comentário, GitHub gerará um alerta.

  • O GitHub envia um alerta de email para os administradores do repositório e proprietários da organização. Você receberá um alerta se estiver inspecionando o repositóriose tiver habilitado notificações para alertas de segurança ou para todas as atividades no repositório e se, em suas configurações de notificação, tiver optado por receber notificações por email quanto aos repositórios que está inspecionando.
  • Se a pessoa que introduziu o segredo no commit, a descrição do problema ou o comentário não estiver ignorando o repositório, GitHub também enviará um alerta por email. Os emails contêm um link para o alerta secret scanning relacionado. A pessoa que introduziu o segredo pode visualizar o alerta no repositório e resolver o alerta.
  • GitHub exibe um alerta na guia Segurança do repositório.

Para obter mais informações sobre a visualização e resolução alertas de verificação de segredo, confira "Gerenciar alertas da verificação de segredo."

Para saber como configurar notificações para alertas de verificação de segredo, confira "Como configurar notificações para alertas de verificação de segredo".

Os administradores do repositório e os proprietários da organização podem permitir acesso aos usuários e às equipes aos alertas de verificação de segredo. Para obter mais informações, confira "Gerenciando as configurações de segurança e análise do repositório".

Use também a API REST para monitorar os resultados da secret scanning nos seus repositórios. Para obter mais informações sobre pontos de extremidade da API, confira "Verificação de segredo".

Leitura adicional