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 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 |
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.