Observação: Secret scanning como um push de proteção estão atualmente em versão beta e sujeitos a alterações.
Sobre a proteção por push para segredos
Até agora, a secret scanning verifica se há segredos após um push e alerta os usuários sobre os segredos expostos. Quando você habilita a proteção por push, a secret scanning também verifica os pushes em busca de segredos de alta confiança (aqueles identificados com uma baixa taxa de falsos positivos). A Secret scanning lista todos os segredos detectados para que o autor possa revisar os segredos e removê-los ou, se necessário, permitir que esses segredos sejam enviados por push. Os Secret scanning também podem verificar pushes em busca de padrões personalizados. Para obter mais informações, confira "Definir padrões personalizados para a verificação de segredo".
Se um colaborador ignorar um bloco de proteção por push para um segredo, GitHub:
- cria um alerta na guia Segurança do repositório no estado descrito na tabela abaixo.
- adicionará o evento bypass ao log de auditoria.
- enviará um alerta por email para proprietários da organização, gerentes de segurança e administradores de repositório que estiverem vendo o repositório, com um link para o segredo e o motivo pelo qual ele foi permitido.
É possível monitorar os alertas de segurança para descobrir quando os usuários ignoram as proteções de push e criam alertas. Para obter mais informações, confira "Alertas de segurança de auditoria".
Esta tabela mostra o comportamento dos alertas referente a cada maneira como o usuário pode ignorar um bloco de proteção por push.
Motivo do bypass | Comportamento do alerta |
---|---|
É usado em testes | O GitHub cria um alerta fechado, que é resolvido como "usado em testes" |
Isso é um falso positivo | O GitHub cria um alerta fechado, que é resolvido como "falso positivo" |
Farei a correção mais tarde | O GitHub cria um alerta aberto |
Para obter informações sobre os segredos e provedores de serviços com suporte para proteção por push, confira "Padrões de digitalização de segredo".
Como habilitar a secret scanning como uma proteção por push
Para que você use a secret scanning como uma proteção contra push, a empresa, a organização, ou o repositório precisa ter o GitHub Advanced Security e a secret scanning habilitado. Para saber mais, confira "Como gerenciar os recursos do GitHub Advanced Security na empresa," "Gerenciando as configurações de segurança e de análise da sua organização", "Gerenciando as configurações de segurança e análise do repositório" e "Sobre a Segurança Avançada do GitHub".
Os proprietários da organização, os gerentes de segurança e os administradores de repositório podem habilitar a proteção por push na secret scanning por meio da interface do usuário e da API. Para saber mais, confira "Repositórios" e expanda a seção "Propriedades do objeto security_and_analysis
" na documentação da API REST.
Os administradores corporativos também podem habilitar ou desabilitar a secret scanning como uma proteção por push para a empresa por meio da API. Para saber mais, confira "Segurança e análise de código" na documentação da API REST.
Como habilitar a secret scanning como uma proteção contra push na empresa
-
No canto superior direito do GitHub.com, clique na foto do seu perfil e em Suas empresas.
-
Na lista de empresas, clique na empresa que você deseja visualizar.
-
Na barra lateral da conta corporativa, clique em Configurações.
-
Na barra lateral esquerda, clique em Segurança e análise de código.
-
Em "Secret scanning", em "Proteção por push", clique em Habilitar tudo.
-
Opcionalmente, clique em "Habilitar automaticamente para repositórios adicionados à secret scanning."
-
Opcionalmente, para incluir um link personalizado na mensagem que os membros verão quando tentarem enviar um segredo por push, clique em Adicionar um link de recurso na CLI e na interface do usuário da Web quando um commit for bloqueado, digite uma URL e clique em Salvar link.
Como habilitar a secret scanning como uma proteção por push para uma organização
-
No GitHub.com, navegue até a página principal da organização. 1. No nome da sua organização, clique em Configurações.
-
Na seção "Segurança" da barra lateral, clique em Segurança de código e análise.
-
Em "Segurança e análise de código", encontre o "GitHub Advanced Security". 1. Em "Secret scanning", em "Proteção por push", clique em Habilitar tudo.
-
Opcionalmente, clique em "Habilitar automaticamente para repositórios adicionados aosecret scanning".
-
Opcionalmente, para incluir um link personalizado na mensagem que os membros verão quando tentarem enviar um segredo por push, selecione Adicionar um link de recurso na CLI e na interface do usuário da Web quando uma confirmação for bloqueada, então digite uma URL e clique em Salvar link.
Como habilitar a secret scanning como uma proteção por push para um repositório
-
No GitHub.com, navegue até a página principal do repositório. 1. Abaixo do nome do repositório, clique em Configurações. Caso não consiga ver a guia suspensa "Configurações", selecione o menu suspenso e clique em Configurações.
-
Na seção "Segurança" da barra lateral, clique em Segurança de código e análise.
-
Em "Segurança e análise de código", encontre o "GitHub Advanced Security". 1. Em "Secret scanning", em "Proteção por push", clique em Habilitar.
Usar a verificação de segredos como uma proteção por push da linha de comando
Quando você tentar efetuar push de um segredo compatível para um repositório ou uma organização com a secret scanning como uma proteção por push habilitada, o GitHub bloqueará o push. Você pode remover o segredo do branch ou seguir uma URL fornecida para permitir o push.
Até cinco segredos detectados serão exibidos por vez na linha de comando. Se um segredo específico já tiver sido detectado no repositório e um alerta já existir, o GitHub não bloqueará esse segredo.
Os administradores da organização podem fornecer um link personalizado que será exibido quando um push for bloqueado. Esse link personalizado pode conter recursos e conselhos específicos da organização, como instruções sobre como usar um cofre de segredos recomendado ou para quem entrar em contato para perguntas relacionadas ao segredo bloqueado.
Se você confirmar que um segredo é real, precisará remover o segredo do branch, de todos os commits em que ele aparece, antes de efetuar push novamente. Para saber mais sobre como corrigir segredos bloqueados, confira "Efetuar push de um branch bloqueado pela proteção por push".
Se você confirmar que um segredo é real e que pretende corrigi-lo mais tarde, tente corrigi-lo o mais rápido possível. Por exemplo, você pode revogar o segredo e removê-lo do histórico de commits do repositório. Segredos reais que foram expostos devem ser revogados para evitar acesso não autorizado. Você pode considerar primeiro rotacionar o segredo antes de revogá-lo. Para obter mais informações, confira "Remover dados confidenciais de um repositório".
Observações:
- Se a configuração do Git der suporte a pushes para vários branches e não apenas para o branch atual, o push poderá ser bloqueado devido a referências adicionais e não intencionais serem enviadas por push. Para obter mais informações, confira as opções
push.default
na documentação do Git. - Se secret scanning atingir o tempo limite após o push, GitHub ainda executará uma verificação dos seus commits para segredos após o push.
Como permitir o push de um segredo bloqueado
Se o GitHub bloquear um segredo que você acredita ser seguro para push, permita o segredo e especifique o motivo pelo qual ele deve ser permitido.
Quando você permite que um segredo seja enviado por push, um alerta será criado na guia Segurança. GitHub fecha o alerta e não envia uma notificação se você especificar que o segredo é um falso positivo ou usado apenas em testes. Se você especificar que o segredo é real e que o corrigirá mais tarde, GitHub manterá o alerta de segurança aberto e enviará notificações ao autor do commit, bem como aos administradores do repositório. Para obter mais informações, confira "Gerenciar alertas da verificação de segredo".
Quando um colaborador ignora um bloco de proteção por push para um segredo, GitHub também envia um alerta de e-mail para os proprietários da organização, gerentes de segurança e administradores de repositório que optaram por receber notificações por e-mail.
- Acesse a URL retornada pelo GitHub quando o push foi bloqueado.
- Escolha a opção que melhor descreve o motivo pelo qual você deve conseguir efetuar push do segredo.
- Se o segredo for usado apenas em testes e não representar nenhuma ameaça, clique em Ele é usado em testes.
- Se a cadeia de caracteres detectada não for um segredo, clique em É um falso positivo.
- Se o segredo for real, mas você pretender corrigi-lo mais tarde, clique em Corrigirei mais tarde.
- Clique em Permitir que eu efetue push deste segredo.
- Tente efetuar push novamente na linha de comando em até três horas. Se você não efetuar push em até três horas, precisará repetir esse processo.
Como usar a verificação de segredos como uma proteção de push da interface do usuário da Web
Quando você usa a interface do usuário da Web para tentar fazer commit de um segredo com suporte em um repositório ou uma organização com a verificação de segredo como uma proteção por push habilitada, o GitHub bloqueará o commit.
Você verá uma faixa na parte superior da página com informações sobre a localização do segredo e o segredo também será sublinhado no arquivo para que você possa encontrá-lo facilmente.
O GitHub exibirá apenas um segredo detectado por vez na interface do usuário da Web. Se um segredo específico já tiver sido detectado no repositório e um alerta já existir, o GitHub não bloqueará esse segredo.
Os administradores da organização podem fornecer um link personalizado que será exibido quando um push for bloqueado. Esse link personalizado pode conter recursos e conselhos específicos para sua organização. Por exemplo, o link personalizado pode apontar para um arquivo README com informações sobre o cofre secreto da organização, para quais equipes e indivíduos escalar perguntas ou a política aprovada pela organização para trabalhar com segredos e reescrever o histórico de confirmação.
Você pode remover o segredo do arquivo usando a interface do usuário da Web. Depois de remover o segredo, a faixa na parte superior da página será alterada e informará que agora você pode fazer commit das suas alterações.
Ignorando a proteção por push em um segredo
Se você confirmar que um segredo é real, precisará remover o segredo do branch, de todos os commits em que ele aparece, antes de efetuar push novamente. Para saber mais sobre como corrigir segredos bloqueados, confira "Efetuar push de um branch bloqueado pela proteção por push".
Se você confirmar que um segredo é real e que pretende corrigi-lo mais tarde, tente corrigi-lo o mais rápido possível. Para obter mais informações, confira "Remover dados confidenciais de um repositório".
Se o GitHub bloquear um segredo que você acredita ser seguro para push, permita o segredo e especifique o motivo pelo qual ele deve ser permitido.
Quando você permite que um segredo seja enviado por push, um alerta será criado na guia Segurança. GitHub fecha o alerta e não envia uma notificação se você especificar que o segredo é um falso positivo ou usado apenas em testes. Se você especificar que o segredo é real e que o corrigirá mais tarde, GitHub manterá o alerta de segurança aberto e enviará notificações ao autor do commit, bem como aos administradores do repositório. Para obter mais informações, confira "Gerenciar alertas da verificação de segredo".
Quando um colaborador ignora um bloco de proteção por push para um segredo, GitHub também envia um alerta de e-mail para os proprietários da organização, gerentes de segurança e administradores de repositório que optaram por receber notificações por e-mail.
Se você confirmar que um segredo é real e que pretende corrigi-lo mais tarde, tente corrigi-lo o mais rápido possível.
- Na faixa que apareceu na parte superior da página quando o GitHub bloqueou seu commit, clique em Ignorar proteção.
- Escolha a opção que melhor descreve o motivo pelo qual você deve conseguir efetuar push do segredo.
- Se o segredo for usado apenas em testes e não representar nenhuma ameaça, clique em Ele é usado em testes.
- Se a cadeia de caracteres detectada não for um segredo, clique em É um falso positivo.
- Se o segredo for real, mas você pretender corrigi-lo mais tarde, clique em Corrigirei mais tarde.
- Clique em Permitir segredo.