Scarnox · Blog

Arkose Labs FunCaptcha spiegato: sfide di enforcement e risoluzione

Arkose Labs, che molti sviluppatori conoscono ancora come FunCaptcha, è un provider di captcha usato da grandi siti per registrazioni, login e pagamenti. La sua funzione più nota è la sfida di enforcement: un breve puzzle in stile gioco, come ruotare un oggetto o abbinare un motivo, che compare quando un motore di rischio decide che il visitatore va verificato meglio. Il supporto Scarnox per Arkose è in arrivo. Questa guida spiega come funzionano queste sfide, perché sono più difficili dei semplici widget e quali sono gli approcci generali per il lavoro legittimo.

Come viene consegnata una sfida Arkose

La pagina protetta carica uno script di Arkose e gli passa una chiave pubblica che identifica il sito. La sfida vera e propria viene servita dal provider, e il widget restituisce la risposta del visitatore sotto forma di token. Come per gli altri widget basati su token, il backend del sito verifica il token presso il provider prima di considerare valido il risultato.

La chiave pubblica è l'identificativo che cerchi quando vuoi lavorare su una pagina, allo stesso modo in cui una sitekey identifica un widget PopularCaptcha o reCAPTCHA. La guida su come trovare la sitekey di un captcha spiega come individuare questi identificativi in una pagina.

Come appaiono le sfide

Le sfide Arkose sono di solito brevi e visive. Esempi: ruotare un'immagine finché non è dritta, selezionare l'elemento corrispondente in un insieme o seguire una sequenza in una scena 3D. Il design cambia spesso e ogni sito può usare un insieme di sfide diverso. Il puzzle è anche un segnale a sé: il modo in cui il visitatore si muove e il tempo impiegato possono contare quanto la risposta finale.

Il motore di rischio

Prima di mostrare una sfida, il provider valuta la sessione. Il punteggio si basa su segnali del browser, caratteristiche del dispositivo, storico delle richieste e comportamento nella pagina. Un visitatore a basso rischio può passare senza sfide. Uno a rischio più alto vede uno o più puzzle, e uno a rischio molto alto può essere bloccato.

Poiché il motore di rischio è calibrato per ogni sito e cambia nel tempo, un approccio generico che funziona su un sito può fallire su un altro. È uno dei motivi per cui le sfide di enforcement sono più difficili da gestire dei semplici widget.

Perché l'automazione viene segnalata

L'automazione viene segnalata per le stesse ragioni degli altri controlli basati su punteggio: un browser headless con impostazioni di default, una sessione nuova senza storico, un pattern di richieste rapido e regolare, e indirizzi di rete con una cattiva reputazione. Ogni segnale aumenta il punteggio di rischio. La sfida chiede poi qualcosa che l'automazione non sa fare bene, come un trascinamento accurato e simile a quello umano.

Approcci legittimi

Per i tuoi test e per flussi di lavoro legittimi, questi approcci riducono le sfide non necessarie:

  1. Usa un profilo browser reale con impostazioni coerenti, invece di una build di automazione ridotta all'osso.
  2. Mantieni le sessioni continue, così il visitatore non sembra nuovo a ogni pagina.
  3. Scandisci le richieste a un ritmo che una persona potrebbe plausibilmente tenere.
  4. Usa l'ambiente di test del provider se il sito è tuo. Arkose e la maggior parte dei grandi provider offrono un modo per testare un'integrazione senza un vero risk scoring.
  5. Chiedi al proprietario del sito una allowlist, un'API o un'alternativa accessibile se il tuo lavoro è legittimo ma continua a essere bloccato.

Questi approcci riducono la frequenza con cui compare una sfida. Non eliminano il diritto del provider di sfidare una sessione, e non vanno usati per superare la protezione del login su account che non ti appartengono.

Cosa farebbe un solver Arkose

Un solver Arkose basato su token prenderebbe la chiave pubblica e l'URL della pagina, produrrebbe un token valido e lo restituirebbe al tuo codice. Il tuo codice invierebbe poi il token con il form prima che scada. La forma dell'integrazione assomiglierebbe al flusso PopularCaptcha attuale, ma i dettagli sono diversi, e Scarnox documenterà tipo di task e campi nella documentazione API quando il supporto sarà disponibile.

Oggi Scarnox non risolve Arkose in tempo reale. L'unico tipo di task attivo è PopularCaptcha, proxyless. Il supporto Arkose è in arrivo.

Dove passa il confine etico

Le sfide di enforcement esistono per proteggere le pagine di login, i flussi di pagamento e i form di registrazione dagli abusi. Usare un solver contro questi flussi per accedere ad account che non ti appartengono, per creare account spam o per acquistare scorte limitate prima di altri clienti è fuori dai limiti. Scarnox non supporta questi usi. Il lavoro legittimo su una pagina protetta deve iniziare dal proprietario del sito, e la sua risposta decide cosa è consentito.

Cosa verificare prima di un lavoro

Prima di pianificare qualsiasi attività su un flusso protetto da Arkose, rispondi ad alcune domande. Il flusso è tuo? Se sì, l'ambiente di test del provider e una copia di staging sono il posto dove costruire e testare. Il lavoro è legittimo? Raccogliere informazioni pubbliche nei modi consentiti dal sito è legittimo; accedere ad account non tuoi o crearne in massa non lo è. Il sito offre un'API o un feed di dati che rende inutile il flusso nel browser? Molti siti lo fanno, ed è più veloce e stabile che automatizzare una sfida.

Poi valuta il volume. Le sfide di enforcement reagiscono al comportamento nel tempo, quindi un lavoro che gira a un ritmo basso e costante di solito riceve meno sfide di una raffica concentrata. Pianifica la schedulazione tenendo conto di questo, e assicurati che il lavoro si fermi e segnali l'errore quando incontra una sfida per cui non è stato progettato, invece di riprovare in loop.

Infine, decidi in anticipo cosa fa il lavoro quando la sfida non può essere completata. Un fallimento pulito con una voce nel log è molto meglio di una tempesta di tentativi che danneggia il sito e fa bloccare il tuo traffico.

Scraping responsabile

Se il sito protetto è quello che vuoi sottoporre a scraping, controlla prima robots.txt e i termini di servizio. Mantieni basso il ritmo, evita i dati personali che non ti servono e cerca un'API prima di costruire un flusso nel browser. La guida su se il web scraping è legale copre le domande principali.

Prossimi passi