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 secret scanning recurso projetado para impedir que credenciais codificadas, como segredos ou tokens, sejam enviadas por push para o repositório. Em vez de alertar você sobre vazamentos de credenciais após o fato, a proteção por push bloqueia pushs que contêm segredos antes que eles cheguem ao repositório.

Como funciona a proteção por push

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

  • Pushes da linha de comando
  • Commits feitos na interface do usuário do GitHub
  • Uploads de arquivo para um repositório em GitHub
  • Solicitações à API REST
  • Interações com o GitHub servidor 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

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:

  • É necessário habilitar GitHub Secret Protection
  • É 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 Security and quality do repositório, da organização e da empresa

Dica

Independentemente do status de habilitação da proteção por push, as organizações nas GitHub Team e GitHub Enterprise podem executar um relatório gratuito para escanear o código em busca de segredos vazados. O relatório também mostra quantos vazamentos secretos poderiam ter sido evitados pela proteção por push. Confira Sobre segurança secreta com GitHub.

Proteção por push para usuários

A proteção por push para usuários só está disponível GitHub.come é específica para sua GitHub conta. 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 bloqueio de push, GitHub:

  • Cria um alerta na Security and quality aba 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 desvioComportamento do alerta
É usado em testes
          GitHub cria um alerta fechado, resolvido como "usado em testes"  |

| Isso é um falso positivo | GitHub cria um alerta fechado, marcado como "falso positivo" | | Farei a correção mais tarde | GitHub cria um alerta aberto |

Se você deseja ter um controle maior sobre quais colaboradores podem ignorar a proteção de push e quais pushes contendo segredos devem ser permitidos, você pode configurar o bypass delegado para proteção de push. Com o bypass delegado, você pode conceder aos atores:

  •           **Privilégios de bypass**, permitindo que eles mesmos ignorem a proteção de push, além de revisar e aprovar as solicitações de bypass feitas por outros colaboradores
    
  •           **Isenção da proteção de push**, permitindo que realizem o push de commits sem disparar a proteção de push 
    

Benefícios da proteção por push

  • Segurança preventiva: A proteção por push atua como um mecanismo de defesa de linha de frente verificando o código em busca de segredos codificados no momento do push. Essa abordagem preventiva ajuda a evitar vazamentos de credenciais antes que eles sejam inseridos no histórico do repositório, facilitando o endereçamento e a correção de ameaças.
  • 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 credenciais: Ao bloquear confirmações que contêm credenciais codificadas, a proteção por push reduz significativamente o risco de vazamentos acidentais de credenciais e expansão secreta. Isso ajuda a proteger contra possíveis violações e manter a integridade da base de código.
  • 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. Além disso, você pode isentar atores confiáveis completamente da proteção de push. 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
  • Designar colaboradores que podem ignorar a proteção por push e aprovar solicitações de bypass para outros colaboradores ou estão isentos totalmente da proteção por push
  • Configurando quais padrões de segredo são incluídos na proteção de push em nível empresarial ou organizacional

Próximas Etapas 

Para habilitar a proteção por push:

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.