1 pontos por dohyeon5626 2026-04-06 | 2 comentários | Compartilhar no WhatsApp

Ao manter um repositório open source, às vezes bots criam issues ou PRs como spam. Para evitar isso, fiz de forma simples uma GitHub Action que exige autenticação com Cloudflare Turnstile ao criar uma issue/PR.

Como funciona

  1. Quando alguém cria uma issue ou PR
  2. o bot adiciona automaticamente um comentário com um link de autenticação
  3. quando o autor clica no link e conclui a verificação, o comentário é atualizado com uma mensagem de sucesso
  4. se a verificação falhar ou o tempo expirar, o comentário é atualizado com uma mensagem de falha e, dependendo das opções, a issue/PR pode ser fechada automaticamente ou receber uma label

Ao usar, é possível escolher opções personalizadas conforme a necessidade.

  • Configuração de eventos de issue/PR
  • Fechamento automático e adição de label em caso de falha na verificação
  • Configuração para pular a verificação para usuários específicos (allowed-users)
  • Configuração para pular se estiver acima de um certo nível de permissão (trusted-permission: read / write / admin)
  • Configuração para exigir verificação apenas de novos contribuidores (first-time-only)
  • A conta que comenta pode ser github-actions[bot] ou uma conta de bot personalizada

Os links do código são os seguintes.
Código da GitHub Action: https://github.com/dohyeon5626/bot-check-action
Código da página de verificação: https://github.com/dohyeon5626/bot-check-page
Código do servidor de verificação: https://github.com/dohyeon5626/serverless-functions/…

É a primeira vez que escrevo no GeekNews! Tem muitos desenvolvedores muito bons aqui, então se puderem me dar feedback, vou aprender bastante.
Além desse projeto, fiquem à vontade para abrir issues ou PRs em qualquer repositório meu em https://github.com/dohyeon5626; agradeço muito qualquer feedback!!

2 comentários

 
asdl328 2026-04-17

É um bom projeto. Como não tenho nenhum projeto grande, não sei se terei ocasião de usá-lo.

 
kelw932 2026-04-17

Parece que dá para impedir de forma simples que bots criem issues/PRs em projetos de código aberto.