Skip to main content

Sobre a proteção por push

A proteção contra push impede que os colaboradores enviem segredos por push para um repositório e gera um alerta sempre que um colaborador ignora o bloqueio. A proteção contra push pode ser aplicada nos níveis do repositório, da organização e da conta de usuário.

Quem pode usar esse recurso?

A proteção por push está disponível para os seguintes tipos de repositório:

  • Repositórios públicos no GitHub.com
  • Repositórios pertencentes à organização no GitHub Team ou GitHub Enterprise Cloud com a GitHub Secret Protection habilitada
  • Repositórios de namespace de usuário pertencentes a Enterprise Managed Users

Sobre a proteção por push

A proteção contra 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.

A proteção contra push ajuda a evitar os riscos associados a segredos expostos, como acesso não autorizado a recursos ou serviços. Com esse recurso, os desenvolvedores recebem comentários imediatos e podem resolver possíveis problemas antes que eles se tornem uma preocupação de segurança.

É possível habilitar a proteção contra push:

  • No nível do repositório/organização, se você for um administrador do repositório ou um proprietário da organização. Você verá alertas na guia Segurança do seu repositório quando um colaborador do repositório ignorar a proteção contra push.
  • Para sua conta no GitHub, como um usuário. Esse tipo de proteção de push é conhecido como "proteção de push para usuários". Ele protege você contra o envio de segredos para qualquer repositório público no GitHub, mas nenhum alerta é gerado.

Dica

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

Para obter informações sobre os segredos e provedores de serviços com suporte da proteção contra push, consulte Padrões de varredura de segredos com suporte.

A proteção contra push tem algumas limitações. Para saber mais, confira Solução de problemas com a varredura de segredos.

Como funciona a proteção por push

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

Uma vez habilitada, se a proteção de push detectar um possível segredo durante uma tentativa de push, ela bloqueará o push e fornecerá uma mensagem detalhada explicando o motivo do bloqueio. Você precisará revisar o código em questão, remover todas as informações confidenciais e tentar o envio por push novamente.

Por padrão, qualquer pessoa com acesso de gravação ao repositório pode optar por ignorar a proteção de push especificando um dos motivos de bypass descritos na tabela. Se um colaborador ignorar um bloco de proteção por push para um segredo, GitHub:

  • criará um alerta na guia Segurança do repositório.
  • Adiciona o evento de bypass ao log de auditoria.
  • Envia um alerta por email para proprietários da organização ou da conta pessoal, gerentes de segurança e administradores de repositório que estiverem inspecionando o repositório, com um link para o segredo e o motivo pelo qual ele foi permitido.

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 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 desejar maior controle sobre quais contribuidores podem ignorar a proteção de push e quais envios por push contendo segredos devem ser permitidos, você pode habilitar o bypass delegado para proteção de push. O bypass delegado permite configurar um grupo designado de revisores para supervisionar e gerenciar solicitações a fim de ignorar a proteção de push de contribuidores que enviam por push para o repositório. Para saber mais, confira Sobre o bypass delegado para proteção contra push.

Você também pode ignorar a proteção contra push usando a API REST. Para saber mais, confira Pontos de extremidade da API REST para verificação de segredos.

Sobre os benefícios da proteção contra 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 detectar possíveis problemas antes que eles sejam mesclados no seu 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.
    
  •         **Capacidade de detectar padrões personalizados:** as organizações podem definir padrões personalizados para detectar segredos exclusivos de seus ambientes. Essa personalização garante que a proteção de push possa identificar e bloquear com eficácia até mesmo segredos não padrão.
    
  •         **Bypass delegado para flexibilidade:** nos casos em que ocorrem falsos positivos ou quando determinados padrões são necessários, o recurso de bypass delegado permite que usuários designados aprovem pushes específicos. Isso fornece flexibilidade sem comprometer a segurança geral.
    

Todos os usuários no GitHub também podem habilitar a proteção contra push para si mesmos em suas configurações individuais. A habilitação da proteção contra push para uma conta de usuário significa que seus envios por push são protegidos sempre que realizados para um repositório público no GitHub, sem depender desse repositório para ter a proteção contra push habilitada. Para saber mais, confira Proteção por push para usuários.

Personalizar a proteção contra push

Depois que a proteção de push estiver habilitada, você poderá personalizá-la ainda mais:

Configurar padrões protegidos por push

Personalize quais padrões de segredo estão incluídos na proteção por push no nível da empresa ou da organização. Confira Definindo configurações adicionais de verificação de segredo para sua empresa e Configurações de segurança globais para sua organização.

Definir padrões personalizados

Defina padrões personalizados que a proteção contra push pode usar para identificar segredos e bloquear envios por push que contenham esses segredos. Para saber mais, confira Definir padrões personalizados para a verificação de segredo.

Configurar o bypass delegado

Defina colaboradores que podem ignorar a proteção contra push e adicione um processo de aprovação para outros colaboradores. Para saber mais, confira Sobre o bypass delegado para proteção contra push.

Leitura adicional

  •         [AUTOTITLE](/code-security/secret-scanning/enabling-secret-scanning-features/enabling-push-protection-for-your-repository)
    
  •         [AUTOTITLE](/code-security/secret-scanning/working-with-secret-scanning-and-push-protection/working-with-push-protection-from-the-command-line)
    
  •         [AUTOTITLE](/code-security/secret-scanning/working-with-secret-scanning-and-push-protection/working-with-push-protection-in-the-github-ui)
    
  •         [AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/defining-custom-patterns-for-secret-scanning)
    
  •         [AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/about-delegated-bypass-for-push-protection)