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.
O Secret scanning está disponível no GitHub.com em duas formas:
-
Alertas de verificação de segredo para parceiros. É executado automaticamente em todos os repositórios públicos e pacotes npm públicos. 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.
-
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".
Os provedores de serviço podem fazer parceria com o GitHub para fornecer os respectivos formatos de segredo para verificação. Para saber mais sobre nosso programa de parceiros, confira "Programa de verificação de segredo de parceiros".
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 "Como proteger pushes com a verificação de segredos".
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. 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.
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ê é administrador do repositório, pode habilitar os alertas de verificação de segredo para usuários em qualquer repositóriopú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 a 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 desses commits em busca de segredos que correspondam aos padrões definidos pelos provedores de serviço . 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, GitHub gera 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 o colaborador que cometeu o segredo não estiver ignorando o repositório, GitHub também enviará um alerta por email ao contribuidor. Os emails contêm um link para o alerta secret scanning relacionado. O autor do commit 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 "Secret scanning".