# Proteção por Notificações 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
* Confirmações feitas 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](#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:

* É 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 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security** do repositório, da organização e da empresa

> \[!TIP]
> 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. Consulte [Segurança secreta com GitHub](/pt/enterprise-server@3.19/code-security/securing-your-organization/understanding-your-organizations-exposure-to-leaked-secrets/about-secret-risk-assessment).

### 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 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security** 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 desvio                                                | Comportamento 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 um grupo designado de revisores para supervisionar e gerenciar solicitações de bypass.

## 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.               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
* Configurando quais padrões de segredo são incluídos na proteção de push em nível empresarial ou organizacional