Scarnox · Blog

Arkose Labs FunCaptcha explicado: desafios de enforcement e resolução

O Arkose Labs, que muitos desenvolvedores ainda conhecem como FunCaptcha, é um provedor de captcha usado por grandes sites em cadastros, logins e pagamentos. Seu recurso mais conhecido é o desafio de enforcement: um puzzle curto, estilo jogo, como girar um objeto ou combinar um padrão, que aparece quando o motor de risco decide que o visitante precisa de mais verificação. O suporte ao Arkose na Scarnox está em breve. Este guia explica como os desafios funcionam, por que são mais difíceis que widgets simples e quais são as abordagens gerais para trabalhos legítimos.

Como um desafio Arkose é entregue

A página protegida carrega um script do Arkose e passa a ele uma chave pública que identifica o site. O desafio em si é servido pelo provedor, e o widget devolve a resposta do visitante na forma de um token. Como em outros widgets de token, o backend do site verifica esse token com o provedor antes de confiar no resultado.

A chave pública é o identificador que você procura quando quer trabalhar com uma página, da mesma forma que um sitekey identifica um widget PopularCaptcha ou reCAPTCHA. O guia para encontrar o sitekey do captcha explica como localizar esses identificadores em uma página.

Como são os desafios

Os desafios Arkose costumam ser curtos e visuais. Exemplos incluem girar uma imagem até ela ficar em pé, selecionar o item correspondente em um conjunto ou seguir uma sequência em uma cena 3D. O design muda com frequência, e cada site pode usar um conjunto diferente de desafios. O puzzle também é um sinal por si só: a forma como o visitante se move e o tempo gasto podem ser tão importantes quanto a resposta final.

O motor de risco

Antes de mostrar um desafio, o provedor pontua a sessão. O score considera sinais do navegador, características do dispositivo, o histórico de requisições e o comportamento na página. Um visitante de baixo risco pode passar sem nenhum desafio. Um visitante de risco mais alto vê um ou mais puzzles, e um visitante de risco muito alto pode ser bloqueado.

Como o motor de risco é ajustado para cada site e muda com o tempo, uma abordagem genérica que funciona em um site pode falhar em outro. Essa é uma das razões pelas quais os desafios de enforcement são mais difíceis de tratar que widgets simples.

Por que a automação é detectada

A automação é sinalizada pelos mesmos motivos que outras verificações baseadas em score: um navegador headless padrão, uma sessão nova sem histórico, um padrão de requisições rápido e regular e endereços de rede com má reputação. Cada sinal aumenta o score de risco. O desafio então pede algo que a automação não consegue fazer bem, como um arrastar preciso e com aparência humana.

Abordagens legítimas

Para seus próprios testes e para fluxos legítimos, estas abordagens reduzem desafios desnecessários:

  1. Use um perfil de navegador real com configurações consistentes, em vez de um build de automação simplificado.
  2. Mantenha as sessões contínuas, para que o visitante não pareça novo a cada página.
  3. Controle o ritmo das requisições em uma velocidade que uma pessoa poderia produzir.
  4. Use o ambiente de teste do fornecedor se o site for seu. A Arkose e a maioria dos grandes provedores oferecem uma forma de testar a integração sem a pontuação de risco real.
  5. Peça ao dono do site uma allowlist, uma API ou uma alternativa acessível se o seu trabalho for legítimo e mesmo assim estiver bloqueado.

Essas abordagens reduzem a frequência com que um desafio aparece. Elas não removem o direito do provedor de desafiar uma sessão, e não devem ser usadas para passar pela proteção de login de contas que você não possui.

O que um solver Arkose faria

Um solver Arkose baseado em token receberia a chave pública e a URL da página, geraria um token válido e o devolveria ao seu código. Seu código então enviaria o token junto com o formulário antes que ele expire. O formato da integração seria parecido com o fluxo ao vivo do PopularCaptcha, mas os detalhes são diferentes, e a Scarnox vai documentar o tipo de tarefa e os campos na referência da API quando o suporte for lançado.

A Scarnox não resolve o Arkose ao vivo hoje. O único tipo de tarefa ativo é o PopularCaptcha, proxyless. O suporte ao Arkose está em breve.

Onde fica a linha ética

Os desafios de enforcement existem para proteger páginas de login, fluxos de pagamento e formulários de cadastro contra abuso. Usar qualquer solver contra esses fluxos para entrar em contas que não são suas, criar contas de spam ou comprar estoque limitado antes de outros clientes está fora dos limites. A Scarnox não oferece suporte a esses usos. Um trabalho legítimo em um site protegido deve começar com o dono do site, e a resposta dele decide o que é permitido.

O que verificar antes de um projeto

Antes de planejar qualquer trabalho contra um fluxo protegido pelo Arkose, responda a algumas perguntas. O fluxo é seu? Se for, o ambiente de teste do fornecedor e a sua própria cópia de staging são o lugar para construir e testar. O trabalho é legítimo? Coletar informações públicas de uma forma que o site permite é legítimo; entrar em contas que não são suas, ou criar contas em escala, não é. O site oferece uma API ou um feed de dados que torne o fluxo no navegador desnecessário? Muitos sites oferecem, e isso é mais rápido e estável do que automatizar um desafio.

Depois, avalie o volume. Os desafios de enforcement reagem ao comportamento ao longo do tempo, então um trabalho que roda em um ritmo baixo e constante costuma receber menos desafios do que uma rajada que roda de uma vez. Planeje a agenda com isso em mente e garanta que o trabalho pare e reporte quando encontrar um desafio para o qual não foi projetado, em vez de tentar de novo em loop.

Por fim, decida com antecedência o que o trabalho faz quando o desafio não puder ser concluído. Uma falha limpa com um registro no log é muito melhor do que uma enxurrada de retentativas que prejudica o site e faz o seu tráfego ser bloqueado.

Faça scraping com responsabilidade

Se o site protegido for aquele que você planeja raspar, verifique o robots.txt e os termos de uso antes. Mantenha a taxa baixa, evite dados pessoais de que você não precisa e procure uma API antes de construir um fluxo de navegador. O guia sobre se web scraping é legal cobre as principais questões.

Próximos passos