Doom Captcha (2021)
(vivirenremoto.github.io)- Doom Captcha é um projeto divertido que transforma um CAPTCHA comum em um minigame no estilo DOOM, com foco mais no humor e na experiência do que em segurança
- Funciona como uma demo para ser usada em formulários HTML, mostrando o funcionamento com um código de exemplo que inclui entrada de e-mail e botão Unsubscribe
- A configuração é simples, com
countdown,labeleenemies, e o valor padrão deenemiesé 4, que é a quantidade de inimigos que precisam ser derrotados para concluir o CAPTCHA - No modo desktop, há easter eggs:
iddqdconclui o CAPTCHA, eidkfadesbloqueia a super shotgun - O código-fonte está disponível no GitHub e, junto com o desempenho no Product Hunt e até um like de John Carmack, chamou atenção como um projeto de desenvolvimento bem-humorado
A experiência de CAPTCHA transformada em DOOM
- Doom Captcha é um projeto demo que faz o usuário jogar um pequeno game no estilo DOOM em vez de resolver um CAPTCHA entediante
- O projeto vem com o aviso de que não deve ser levado muito a sério, e informa que, com conhecimentos de programação, é fácil quebrar a segurança
- O exemplo de uso é fornecido em uma estrutura comum de formulário HTML
- Dentro de um
<form>comaction="success.html", há um campo de entrada de e-mail - O texto do botão é
Unsubscribe
- Dentro de um
Parâmetros e easter eggs
- Parameters suportados
countdown:on/offlabel: texto exibido antes do CAPTCHA, podendo ficar vazioenemies: número de inimigos que precisam ser mortos para concluir o CAPTCHA, com valor padrão4- A última atualização foi em
30/05/2021
- Easter eggs que podem ser digitados após clicar em iniciar no modo desktop
iddqd: conclui o CAPTCHAidkfa: desbloqueia a super shotgun
Código aberto e repercussão
- O código-fonte está disponível no GitHub, e é possível contribuir com pull requests ou fazer fork
- Doom Captcha ficou em TOP 1 Product of the Day no Product Hunt
- A ideia surgiu na sexta-feira, a primeira versão foi desenvolvida no sábado de manhã, publicada naquela noite e colocada no ar no domingo
- Na atualização de 2021-05-26, o criador de Doom, John Carmack, deixou seu like
1 comentários
Comentários no Hacker News
Infelizmente, bem nesta semana alguém fez fine-tuning do modelo de linguagem grande Mistral-7B para jogar DOOM :P
https://news.ycombinator.com/item?id=39813174
No momento, ele só consegue mover para frente/para trás, girar e atirar, e sabe apenas algo como virar para o outro lado quando bate numa parede; fica muito aquém até de um bot básico de Doom, então é delicado chamar isso de jogar
A representação intermediária em ASCII também parece desnecessária e bastante limitante, mas pode ter sido uma escolha para manter algo próximo do tempo real. Pelo que parece, roda a cerca de 1 FPS
Também me pergunto por que rodar isso em um Mac. Não seria melhor usar um PC potente com GPU, capaz de calcular mais rápido?
Ainda assim, parece um desafio divertido, e talvez melhore com mais fine-tuning ou treinamento
https://www.youtube.com/watch?v=bEXefdbQDjw
Gostei muito. CAPTCHAs esquisitos são legais
Isso também me veio à mente: http://random.irb.hr/signup.php
Para um site um pouco mais famoso isso não bastaria, mas em um cantinho pequeno da internet que não é alvo malicioso, foi suficiente para barrar spam de fuzzing do tipo “preencher todos os formulários”
Um atacante motivado poderia obter rapidamente a resposta desse tipo de problema fazendo um OCR aproximado com Tesseract e jogando no GPT-3.5
Rodar LLM não é barato nem escala tão bem, então, nesse sentido, o CAPTCHA talvez cumpra seu papel. Mas, se os problemas ficarem mais difíceis, você começa a filtrar também uma parcela considerável dos usuários humanos
Pelas outras respostas, parece que, mesmo no nível de dificuldade atual, ele já barra muitos usuários humanos, enquanto um atacante com a configuração mencionada passaria facilmente
Tentei atacar um cacodemon com a pistola e, mesmo assim, ele me deixou passar
Doom é tão famoso por ser portável que eu achei que seria Doom rodando de verdade no navegador, completando um mapa simples
Ainda estou esperando alguém criar um Mona Lisa Captcha: https://www.youtube.com/watch?v=WqnXp6Saa8Y
Absolutamente excelente
Só faltou a mira automática no eixo vertical. Mesmo que a mira esteja abaixo do inimigo, deveria ser possível acertar
De qualquer forma, ficou muito bem feito!
Faz sentido ao tentar convencer adolescentes que cresceram jogando Halo e Call of Duty, mas eu já comecei a ver esse obstáculo entre amigos da mesma idade no fim dos anos 90
Fico me perguntando por que não é o Doom de verdade. Deve haver várias implementações de Doom em JavaScript para escolher
Fácil de conseguir[0], mas absolutamente irritante[1]. Como todo CAPTCHA
[0] Se for em tela sensível ao toque, que Deus ajude
[1] Para a maioria das pessoas. Especialmente depois que a novidade passar
Ainda assim, daria para fazer, mas, se for um projeto para compartilhar, pessoalmente prefiro seguir direitos autorais à risca. Ou então me incomoda a sensação de que virá algum ruído de copyright junto
Seria legal fazer Doom como uma implementação 3D completa. Imagino que já tenha sido portado para JavaScript pelo menos dezenas de vezes
Seria bom ter uma janela de progresso em que o usuário pudesse jogar Doom enquanto espera a tarefa terminar
Agora quero um modo Men In Black. Seria identificar a ameaça apresentada pelo pop-up e atirar nela de acordo
Alienígena fazendo barra fixa? Tudo bem. Menininha de 8 anos em um beco escuro com um livro de física quântica? Suspeito...
Além disso, ao longo dos filmes há muitos alienígenas que parecem humanos
Dá para fazer também baseado no minigame de pesca do WoW? Seria clicar na boia no momento certo
Não espero que dure mais, mas a esta altura provavelmente já existem bots de pesca bem decentes