Skip to main content

Sobre a proteção por push

Proteja seus segredos evitando que alcancem seu repositório com proteção por push.

O que é proteção por push?

A proteção por push é um recurso do secret scanning projetado para impedir que informações confidenciais, como segredos ou tokens, sejam enviadas por push para o repositório. Diferentemente do secret scanning, que detecta segredos após serem confirmados, a proteção contra push verifica proativamente seu código em busca de segredos durante o processo de push e bloqueia o push se algum for detectado.

Como funciona a proteção por push

A proteção de push bloqueia os segredos detectados em:

  • Pushes da linha de comando
  • Confirmações feitas na interface do GitHub
  • Uploads de arquivo para um repositório em GitHub
  • Solicitações à API REST
  • Interações com o servidor GitHub MCP (somente repositórios públicos)

Quando a proteção por push detecta um segredo em potencial durante uma tentativa de push, ela bloqueará o push e fornecerá uma mensagem detalhada explicando o motivo do bloco. Você precisará revisar o código em questão, remover todas as informações confidenciais e tentar o envio por push novamente.

Tipos de proteção por push

Há dois tipos de proteção por push:

  •         [Proteção de push para repositórios](#push-protection-for-repositories)
    
  •         [Proteção por push para usuários](#push-protection-for-users)
    

Proteção de push para repositórios

Você pode habilitar a proteção por push para repositórios no nível do repositório, da organização ou da empresa. Esta forma de proteção por push:

  • Requer que GitHub Secret Protection sejam habilitado
  • É desabilitado por padrão e pode ser habilitado por um administrador de repositório, proprietário da organização, gerente de segurança ou proprietário da empresa
  • Impede que pushes que contêm segredos atinjam repositórios específicos protegidos
  • Gera alertas para bypasses de proteção por push na guia Segurança do repositório, da organização e da empresa

Proteção por push para usuários

A proteção por push para usuários só está disponível no GitHub.com e é específica para a sua conta GitHub. Esta forma de proteção por push:

  • Está habilitado por padrão
  • Impede que você envie segredos por push para repositórios públicos em GitHub
  • Não gera alertas quando você ignora a proteção por push, a menos que a proteção por push também esteja habilitada no nível do repositório

Bypass de proteção por push e alertas

Para proteção por push para repositórios, por padrão, qualquer pessoa com acesso de gravação ao repositório pode ignorar a proteção por push especificando um motivo de bypass. Quando um colaborador ignora um bloco de proteção por push, GitHub:

  • Cria um alerta na guia Segurança do repositório, da organização e da empresa
  • Adiciona o evento de desvio ao registro de auditoria
  • Envia um alerta de email para proprietários de conta pessoal, organização e empresas, gerentes de segurança e administradores de repositório que estão assistindo ao repositório, com um link para o segredo e o motivo pelo qual ele foi permitido

Esta tabela mostra o comportamento dos alertas para cada motivo de bypass que um usuário pode especificar.

Motivo do bypassComportamento do alerta
É usado em testesO GitHub cria um alerta fechado, que é resolvido como "usado em testes"
Isso é um falso positivoO GitHub cria um alerta fechado, que é resolvido como "falso positivo"
Farei a correção mais tardeO GitHub cria um alerta aberto

Se você quiser ter maior controle sobre quais colaboradores podem ignorar a proteção de push e quais envios contendo segredos devem ser permitidos, configure um grupo designado de revisores para supervisionar e gerenciar as solicitações de exceção.

Benefícios da proteção por push

  •         **Segurança preventiva:** a proteção contra push atua como um mecanismo de defesa da linha de frente verificando o código em busca de segredos no momento do envio por push. Essa abordagem preventiva ajuda a capturar possíveis problemas antes que eles sejam mesclados em um repositório.
    
  •         **Comentários imediatos:** os desenvolvedores recebem comentários instantâneos se um possível segredo for detectado durante uma tentativa de push. Essa notificação imediata permite uma correção rápida, reduzindo a probabilidade de exposição de informações confidenciais.
    
  •         **Risco reduzido de vazamentos de dados:** ao bloquear as confirmações que contêm informações confidenciais, a proteção contra push reduz significativamente o risco de vazamentos acidentais de dados. Isso ajuda a proteger contra acesso não autorizado à sua infraestrutura, serviços e dados.
    
  •         **Gerenciamento de segredos eficiente:** em vez de lidar retrospectivamente com segredos expostos, os desenvolvedores podem resolver os problemas na origem. Isso torna o gerenciamento de segredos mais eficiente e menos demorado.
    
  •           **Funcionalidade de ignorar para flexibilidade:** para casos em que ocorrem falsos positivos ou quando certos padrões são necessários, você pode desabilitar a proteção por push para os usuários, e os usuários autorizados podem usar o recurso delegado de ignorar para desabilitar a proteção por push para repositórios. Isso fornece flexibilidade sem comprometer a segurança geral.
    
  •         **Capacidade de detectar padrões personalizados (para repositórios em organizações):** As organizações podem definir padrões personalizados para detectar segredos exclusivos para seu ambiente. Essa personalização garante que a proteção por push possa identificar e bloquear até mesmo segredos não padrão com eficiência.
    

Personalização

Depois de habilitar a proteção por push para repositórios, você pode personalizá-la:

  • Definindo padrões personalizados para bloquear pushes que contêm padrões secretos exclusivos
  • Designando colaboradores que podem ignorar a proteção por push e aprovar solicitações de bypass para outros colaboradores

Próximas Etapas 

Para habilitar a proteção por push: * Para um repositório, consulte Habilitar a proteção de push para seu repositório. * Para uma organização ou empresa, você precisa aplicar um security configuration. Confira Criando uma configuração de segurança personalizada e Criando uma configuração de segurança personalizada para sua empresa.

Para obter uma lista de segredos e provedores de serviços compatíveis com a proteção por push, consulte Padrões de varredura de segredos com suporte.