Receber um webhook é simples: você expõe um endpoint, recebe um POST e interpreta o JSON.

O problema começa quando esse endpoint confia em qualquer payload que chega.

Se uma aplicação executa ações a partir de webhooks — atualiza dados, inicia deploys, envia notificações ou dispara automações — ela precisa confirmar duas coisas antes de processar o evento:

o payload foi assinado com o secret compartilhado com o GitHub;

o conteúdo recebido não foi modificado no caminho.