Scarnox · Blog

Come funziona un solver captcha basato su AI: modelli, token e limiti

Un solver captcha basato su AI è un software che usa modelli di machine learning per rispondere a un captcha al posto tuo. Funziona meglio sulle sfide in cui la risposta si può leggere dal contenuto, come testo distorto o una griglia di immagini. Per i widget basati su token, il compito del modello è produrre una risposta che il server del sito accetti, ed è un problema diverso. Questa guida spiega entrambi i casi, dove stanno i limiti e cosa ricevi davvero da un servizio di solver.

Questa guida descrive tecniche generali. Non descrive gli interni di un servizio specifico. Ciò che conta per te come sviluppatore è il contratto: invii i dettagli di un captcha e ricevi indietro un token.

Tre famiglie di captcha

La maggior parte dei captcha rientra in una di tre famiglie, e l'AI le tratta in modo diverso.

Sfide di contenuto. Il visitatore legge o riconosce qualcosa: caratteri distorti, una serie di numeri civici, semafori in una griglia, un oggetto ruotato. La risposta corretta è nell'immagine o nell'audio stesso. È il campo in cui il machine learning è più forte.

Valutazione comportamentale. Potrebbe non esserci alcuna sfida visibile. Il sito osserva come si comporta il browser, analizza la cronologia delle richieste e assegna un punteggio al visitatore. reCAPTCHA v3 funziona così e restituisce un numero anziché un enigma. Un modello non può semplicemente "leggere" la risposta qui, perché una risposta non c'è. La domanda è se i segnali sembrino abbastanza umani.

Widget basati su token. Un widget gira nella pagina, esegue i suoi controlli e scrive un token in un campo nascosto del modulo. Il backend del sito verifica poi il token con il provider. PopularCaptcha funziona così, e così fanno reCAPTCHA v2 e Cloudflare Turnstile.

Come i modelli gestiscono le sfide di contenuto

Per il testo distorto, l'approccio standard è un modello di riconoscimento ottico dei caratteri (OCR). Una rete convoluzionale, o un modello di visione basato su transformer, legge l'immagine e produce una sequenza di caratteri. L'addestramento usa grandi insiemi di captcha generati con risposte note, così il modello impara le distorsioni più comuni: deformazioni, linee di disturbo, glifi sovrapposti e texture di sfondo.

Per le griglie di immagini, il compito è una classificazione. Il modello esamina ogni riquadro e decide se contiene l'oggetto richiesto. I casi difficili sono gli oggetti parzialmente nascosti, quelli al bordo di un riquadro o ambigui, come un autobus che è quasi tutto fuori dall'inquadratura. Su questi l'accuratezza è più bassa, e un buon solver deve decidere quando tirare a indovinare e quando chiedere un altro giro.

Le sfide audio usano il riconoscimento vocale. Il modello trascrive il clip, e la risposta è la trascrizione. Le difficoltà principali sono il rumore di fondo e la distorsione voluta.

Le sfide a puzzle, come ruotare un'immagine o far scorrere un pezzo nella posizione giusta, richiedono un tipo di modello diverso. Il modello stima un angolo o una posizione dall'immagine, poi produce il trascinamento o il clic che corrisponde.

Come i modelli gestiscono punteggi e token

La valutazione comportamentale e i widget a token sono più difficili da risolvere leggendo la pagina. I controlli del provider girano nel browser del visitatore, e il loro esito dipende da segnali come l'ambiente del browser, la tempistica degli eventi di input e la cronologia della sessione. Il solver non può vedere da fuori il punteggio o i segnali in modo utile.

In questi casi l'approccio funzionante è un solver che restituisce la risposta che il provider si aspetta, usando una pipeline costruita per produrre token validi. Dal tuo lato la proprietà importante è semplice: ottieni un token oppure un errore, e il token viene verificato dal sito.

Per questo l'API di Scarnox è fatta come è. Invii il tipo di attività, la sitekey e l'URL della pagina, e ricevi un token nel campo solution:

{"errorId": 0, "solution": {"token": "..."}, "cost": ...}

Il token va nel campo del modulo che il sito si aspetta, e scade dopo circa due minuti. La guida all'API del solver captcha copre la richiesta completa.

Dove l'AI aiuta e dove si ferma

I solver basati su AI sono buoni nel:

Sono più deboli nei casi seguenti:

C'è anche un limite pratico che nessun modello elimina. Un captcha è una barriera deliberata, e i fornitori aggiornano le loro sfide. Un solver che oggi funziona può smettere di funzionare il mese prossimo, quindi considera l'output del solver qualcosa da monitorare, non qualcosa da dare per scontato.

Scegliere un solver

Quattro domande aiutano a valutare qualsiasi servizio di solver:

  1. Quali tipi di captcha supporta oggi, e non solo nella roadmap?
  2. Quanto ti costa un solve fallito? Un solver che addebita i fallimenti rende costosi i tentativi ripetuti.
  3. Come si comporta in caso di timeout o di risposta lenta? Il tuo codice ha bisogno di un errore chiaro su cui agire.
  4. Cosa devi cambiare nel tuo codice quando il captcha cambia? Meno cambi, meglio è.

Scarnox supporta oggi PopularCaptcha, in modalità proxyless, già attivo. Gli altri tipi sono in arrivo, e la guida ai tipi di captcha spiega lo stato di ciascuno.

Passi successivi