Solver de captcha com IA: como funciona, modelos, tokens e limites
Um solver de captcha com IA é um software que usa modelos de machine learning para responder a um captcha em seu nome. Ele funciona melhor em desafios em que a resposta pode ser lida no próprio conteúdo, como texto distorcido ou uma grade de imagens. Para widgets baseados em token, o trabalho do modelo é produzir uma resposta que o servidor do site aceite, e isso é um problema diferente. Este guia explica os dois casos, onde estão os limites e o que você de fato recebe de um serviço de solver.
Este guia descreve técnicas gerais. Não descreve os detalhes internos de nenhum serviço específico. O que importa para você como desenvolvedor é o contrato: você envia os dados de um captcha e recebe de volta um token.
Três famílias de captcha
A maioria dos captchas se encaixa em uma de três famílias, e a IA trata cada uma de forma diferente.
Desafios de conteúdo. O visitante lê ou identifica algo: caracteres distorcidos, um conjunto de números de rua, semáforos em uma grade, um objeto girado. A resposta correta está na própria imagem ou no áudio. É a área em que o machine learning é mais forte.
Pontuação comportamental. Pode não haver nenhum desafio visível. O site observa como o navegador se comporta, analisa o histórico de requisições e pontua o visitante. O reCAPTCHA v3 funciona assim e devolve um número, não um quebra-cabeça. Um modelo não consegue simplesmente "ler" a resposta aqui, porque não há resposta para ler. A questão é se os sinais parecem humanos o suficiente.
Widgets baseados em token. Um widget roda na página, faz suas verificações e grava um token em um campo oculto do formulário. Depois, o backend do site verifica o token com o provedor. O PopularCaptcha funciona assim, assim como o reCAPTCHA v2 e o Cloudflare Turnstile.
Como os modelos lidam com desafios de conteúdo
Para texto distorcido, a abordagem padrão é um modelo de reconhecimento óptico de caracteres (OCR). Uma rede convolucional, ou um modelo de visão baseado em transformer, lê a imagem e produz uma sequência de caracteres. O treinamento usa grandes conjuntos de captchas gerados com respostas conhecidas, de modo que o modelo aprende as distorções comuns: deformações, linhas de ruído, glifos sobrepostos e textura de fundo.
Para grades de imagens, a tarefa é de classificação. O modelo analisa cada quadro e decide se ele contém o objeto que o desafio pede. Os casos difíceis são objetos parcialmente escondidos, na borda de um quadro ou ambíguos, como um ônibus que está quase todo fora do enquadramento. A precisão nesses casos é menor, e um bom solver precisa decidir quando arriscar um palpite e quando pedir outra rodada.
Desafios de áudio usam reconhecimento de fala. O modelo transcreve o clipe, e a resposta é a transcrição. Ruído de fundo e distorção deliberada são as principais dificuldades.
Desafios de quebra-cabeça, como girar uma imagem ou encaixar uma peça deslizando, precisam de um tipo diferente de modelo. O modelo estima um ângulo ou uma posição a partir da imagem e então produz o arrasto ou o clique correspondente.
Como os modelos lidam com pontuação e tokens
Pontuação comportamental e widgets de token são mais difíceis de resolver apenas lendo a página. As verificações do provedor rodam no navegador do visitante, e o resultado depende de sinais como o ambiente do navegador, o tempo dos eventos de entrada e o histórico da sessão. De fora, o solver não consegue ver a pontuação nem os sinais com muito detalhe.
Nesses casos, a abordagem que funciona é um solver que devolve a resposta que o provedor espera, usando um pipeline criado para produzir tokens válidos. Do seu lado, a propriedade importante é simples: você recebe um token ou um erro, e o token é verificado pelo site.
É por isso que a API da Scarnox tem o formato que tem. Você envia o tipo de tarefa, o sitekey e a URL da página, e recebe um token no campo solution:
{"errorId": 0, "solution": {"token": "..."}, "cost": ...}
O token vai para o campo de formulário que o site espera, e expira em cerca de dois minutos. O guia da API de solver de captcha cobre a requisição completa.
Onde a IA ajuda e onde ela para
Solvers de IA são bons em:
- ler texto distorcido de forma consistente, depois de ajustados para a família de captcha;
- classificar grades de imagens com alta precisão em exemplos claros;
- responder rápido o suficiente para uma requisição síncrona;
- falhar de um jeito que não custa nada para você, se o solver for construído em torno de falhas gratuitas.
Eles são mais fracos em:
- quebra-cabeças que mudam de design com frequência, porque um modelo treinado com a versão do mês passado pode não funcionar na nova;
- verificações comportamentais, em que o resultado depende do ambiente em que você roda tanto quanto da resposta;
- qualquer desafio que exija o julgamento de uma pessoa sobre o conteúdo, como uma pergunta sobre significado ou contexto.
Também existe um limite prático que nenhum modelo elimina. Um captcha é uma barreira deliberada, e os fornecedores atualizam seus desafios. Um solver que funciona hoje pode falhar no mês seguinte, então trate a saída do solver como algo a monitorar, não como algo que vai continuar funcionando para sempre.
Como escolher um solver
Quatro perguntas ajudam a avaliar qualquer serviço de solver:
- Quais tipos de captcha ele suporta hoje, e não apenas no roteiro?
- Quanto custa uma resolução que falha? Um solver que cobra por falhas torna as novas tentativas caras.
- Como ele se comporta em caso de timeout ou resposta lenta? Seu código precisa de um erro claro para agir.
- O que você precisa mudar no seu código quando o captcha muda? Quanto menos, melhor.
A Scarnox oferece hoje o PopularCaptcha, sem proxy e em produção. Outros tipos estão em breve, e o guia de tipos de captcha explica o status de cada um.