Chi usa ChatGPT quotidianamente probabilmente non ci ha mai fatto caso, eppure ogni volta che si apre l’interfaccia Web del chatbot di OpenAI, il browser esegue una serie di controlli invisibili prima ancora di permettere di digitare qualcosa. Non parliamo di un banale CAPTCHA o di una verifica sull’indirizzo IP. Qui la faccenda è parecchio più articolata.
Un ricercatore indipendente ha analizzato a fondo il codice che viene caricato nel browser durante l’apertura di ChatGPT, scoprendo un meccanismo di protezione multilivello che mescola fingerprinting del browser, verifica dello stato interno dell’applicazione e correlazione con la rete Cloudflare. Il risultato pratico è quello che molti avranno notato almeno una volta: il campo di input resta inattivo per qualche istante dopo il caricamento della pagina. Quel brevissimo ritardo non è un bug. È il sistema che sta decidendo se chi sta dall’altra parte è davvero un essere umano con un browser reale oppure un bot.
Alla base di tutto c’è Cloudflare Turnstile, una soluzione pensata come alternativa ai CAPTCHA tradizionali, che lavora in modo trasparente senza chiedere di selezionare semafori o biciclette. Nel caso di ChatGPT, però, l’implementazione va ben oltre l’uso standard. Il codice eseguito nel browser passa attraverso centinaia di moduli cifrati, protetti da una macchina virtuale personalizzata che interpreta istruzioni in formato bytecode. Queste istruzioni sono rese difficili da leggere tramite operazioni XOR, una tecnica che combina i dati con una chiave per mascherarne il contenuto. Insomma, niente che sia pensato per essere letto facilmente.
Cosa viene controllato esattamente dal sistema di ChatGPT?
Il programma analizza almeno 55 proprietà distinte, organizzate su tre livelli. Il primo riguarda il fingerprint vero e proprio del browser: informazioni su WebGL, risoluzione dello schermo, font installati, capacità hardware e comportamento delle API grafiche. Il secondo livello coinvolge i metadati provenienti dalla rete Cloudflare, come l’indirizzo IP, la geolocalizzazione approssimata e le intestazioni generate dai server edge.
Il terzo livello è quello più interessante e anche il più innovativo. Riguarda lo stato interno dell’applicazione React su cui è costruita l’interfaccia di ChatGPT. Il codice verifica la presenza di strutture dati specifiche che esistono soltanto se l’applicazione React risulta completamente caricata ed eseguita da un normale browser Web. Un browser headless, cioè quei software automatizzati che scaricano il codice HTML senza eseguire JavaScript, non riesce a generare quelle strutture. E quindi viene bloccato.
Questo approccio sposta la difesa dal livello di rete a quello applicativo. I sistemi anti-bot tradizionali si concentrano su header HTTP, pattern di traffico o caratteristiche del browser. Qui il controllo arriva fino alla struttura dati prodotta dal rendering React, il che rende molto più complicato simulare un accesso legittimo.
Il token di validazione e i limiti del sistema
Una volta raccolti tutti questi dati, il sistema genera un token di validazione che viene inviato ai server di OpenAI. Solo dopo una verifica positiva il campo di input si sblocca e ChatGPT diventa utilizzabile. Il token incorpora segnali provenienti da tutti e tre i livelli di analisi, quindi non basta superare un singolo controllo per passare.
Il processo avviene in background e nella maggior parte dei casi introduce una latenza minima. Su connessioni lente o dispositivi meno performanti, però, il ritardo può diventare percepibile. Alcuni utenti segnalano blocchi temporanei dell’interfaccia o attese anomale prima di poter iniziare a scrivere.
L’architettura oggi utilizzata da ChatGPT rende decisamente più difficile usarlo come endpoint API non ufficiale. Il ricercatore che ha condotto l’analisi osserva tuttavia che il sistema non è invulnerabile: qualsiasi meccanismo basato su codice eseguito lato client può, con tempo e risorse sufficienti, essere analizzato, replicato o emulato. Il reverse engineering del bytecode offuscato lo dimostra. La tendenza delle piattaforme AI, comunque, è chiara: tecniche sempre più profonde per distinguere utenti reali da automazioni, con il controllo dello stato applicativo che rappresenta un passo ulteriore rispetto al fingerprinting tradizionale.
