Scarnox · Blog

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:

Eles são mais fracos em:

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:

  1. Quais tipos de captcha ele suporta hoje, e não apenas no roteiro?
  2. Quanto custa uma resolução que falha? Um solver que cobra por falhas torna as novas tentativas caras.
  3. Como ele se comporta em caso de timeout ou resposta lenta? Seu código precisa de um erro claro para agir.
  4. 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.

Próximos passos