Disponível para todos os repositórios privados com uma licença GHAS no GitHub, o Push protection agora é gratuito para repositórios públicos.
Em abril de 2022, o GitHub anunciou o lançamento da versão beta do recurso de push protection do escaneamento de credenciais (também conhecido como secret scanning) para usuários do GitHub Advanced Security (GHAS), e as pessoas desenvolvedoras que utilizaram a esse recurso evitaram 17 mil possíveis vazamentos de credenciais, economizando mais de 95 mil horas revogando, alternando e corrigindo segredos expostos.
Agora, o recurso push protection está disponível para todos os repositórios privados com uma licença GHAS.
Mas visando ajudar profissionais e pessoas mantenedoras de open source a proteger proativamente seu código, o GitHub também está disponibilizando gratuitamente o recurso para todos os repositórios públicos.
Push protection agora é gratuito para repositórios públicos
O push protection evita vazamentos de credenciais sem comprometer a experiência de desenvolvimento, verificando segredos altamente identificáveis antes que alterações sejam efetivadas.
De acordo com Mariam Sulakian, Gerente Sênior de Produtos do GitHub, e Zain Malik, Gerente Sênior de Marketing de Produtos do GitHub, a plataforma tem uma parceria estreita com provedores de serviços para garantir que os tokens tenham uma baixa taxa de falsos positivos, garantindo a confiança e credibilidade nos alertas.
“Quando uma credencial é detectada no código, as pessoas desenvolvedoras são alertadas diretamente em seu ambiente de desenvolvimento integrado (IDE), ou interface de linha de comando, com a orientação de correção para garantir que o segredo nunca seja exposto.”
Como explica Ger McMahon, Diretor de ferramentas e plataformas de ALM na Fidelity Investments:
“incorporar escaneamento de credenciais com push protection diretamente no workflow de desenvolvimento reduz o atrito, permitindo que profissionais criem códigos mais seguros e de alta qualidade”.
Como push protection funciona?
Profissionais de desenvolvimento precisam de ferramentas confiáveis para trabalhar com código, e com esse recurso, quando enviam um commit contendo uma credencial, um prompt de push protection aparecerá com informações sobre o tipo do segredo, local e como corrigir a exposição em questão.
E depois de remover o segredo do histórico de commits, será possível reenviar o commit. A ferramenta de proteção bloqueia apenas segredos com baixas taxas de falsos positivos, portanto, quando um commit é bloqueado, é um sinal de que vale a pena investigar.
Talvez seja preciso enviar um enviar código que contém um segredo, como, por exemplo, ao precisar corrigir uma interrupção de serviço com rapidez e lidar com os segredos depois.
Nestes casos, é possível ignorar o alerta push protection ao fornecer um motivo, como se aquele material fosse usado para teste, se é um falso positivo ou se é um risco aceitável que será corrigido posteriormente.
Assim, administradores e gerentes de segurança do repositório e da organização receberão um alerta por e-mail sobre todos os desvios e poderão auditá-los por meio de logs de auditoria corporativos e organizacionais, interface de exibição de alerta, API REST ou eventos de webhook.
De acordo com Leo Stolyarov, Diretor e Líder de Práticas de Nuvem da KPMG, essa abordagem garante uma postura de segurança aprimorada sem comprometer a velocidade e o fluxo de trabalho.
“O push protection de escaneamento de credenciais é um recurso que trouxe melhor conscientização de segurança e proteção contra segredos vazados, e realmente não compromete a experiência no desenvolvimento”, ressaltou.
Como começar a usar push protection?
Para ativar o push protection em um repositório, organização ou empresa, basta acessar as configurações de “Code security and analysis” e ir para baixo até a seção de escaneamento de credenciais (secret scanning).
É possível habilitar “secret scanning”, seu subconjunto e “push protection” ao selecionar o botão “enable all”.
O GitHub também dá a opção de ativar automaticamente o recurso push protection ou fornecer um link de recurso personalizado, que aparecerá em uma mensagem do push protection, por meio das caixas de seleção na seção “push protection”.
Isso garantirá que a ferramenta seja aplicada a qualquer novo repositório criado em uma empresa ou organização.
Os clientes do GitHub Advanced Security também podem personalizar mais sua implantação, habilitando o push protection em seus padrões de segredo customizados.
Interessados podem acessar a documentação da plataforma para saber mais sobre o recurso push protection, GitHub Advanced Security ou sobre o programa de parcerias de escaneamento de credenciais (Secret scanning partner program).