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.
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:
- Pushes da linha de comando. Confira Trabalhando com proteção contra push a partir da linha de comando.
- Commits feitos na interface do usuário do GitHub. Confira Trabalhar com proteção por push na interface do usuário do GitHub.
- Interações com o servidor de MCP do GitHub (somente repositórios públicos). Confira Como trabalhar com a proteção de push e o servidor de MCP do GitHub.
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 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 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.
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.
Personalizar a proteção contra push
Depois que a proteção de push estiver habilitada, você poderá personalizá-la ainda mais:
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)