La Difesa Nascosta di ChatGPT contro i Bot: Cloudflare Turnstile Legge lo Stato di React
ChatGPT Non Ti Lascia Digitare Finché Cloudflare Non Legge il Tuo Stato React
Ogni messaggio inviato in ChatGPT attiva un sofisticato programma di verifica silenzioso da parte di Cloudflare Turnstile. La nuova analisi rivela che questo sistema sonda molto più in profondità rispetto al normale fingerprinting del browser, controllando oltre 55 proprietà su tre livelli distinti: il browser, la rete Cloudflare e lo stato interno dell'applicazione React ChatGPT stessa.
L'indagine, basata sulla decrittografia di 377 di questi programmi dal traffico di rete, ha scoperto un meccanismo fondamentale. Turnstile non si limita a verificare che tu stia utilizzando un browser reale; conferma che quel browser ha completamente avviato la specifica applicazione a pagina singola (SPA) di ChatGPT. Ciò crea una barriera significativa per i bot automatizzati.
La Crittografia Era Supposta Nascondere Questo
Il bytecode di Turnstile arriva pesantemente crittografato in un campo chiamato turnstile.dx. Questa stringa base64 di 28.000 caratteri cambia ad ogni richiesta. Lo strato esterno utilizza un cifrario XOR con un token p inviato nello stesso scambio HTTP, rendendo la decrittografia iniziale semplice.
Dentro si trova un blob crittografato di 19KB contenente il programma di fingerprinting effettivo, protetto da una seconda chiave XOR. Inizialmente si pensava fosse effimero, ma i ricercatori hanno scoperto che questa chiave è incorporata all'interno delle istruzioni del bytecode decrittografate stesse, spesso come un letterale float come 97.35.
Ciò significa che la catena di decrittografia completa non richiede nulla al di là della richiesta e della risposta HTTP. La chiave è nel payload, rendendo l'oscuramento una barriera all'ispezione casuale piuttosto che un vero sigillo crittografico. Il confine di privacy è una decisione politica, non tecnica.
Cosa Controlla il Programma Decrittografato
Il programma interno viene eseguito su una VM personalizzata con 28 opcode. Raccoglie un insieme identico di 55 proprietà su tutti i campioni, organizzate in tre livelli critici.
Livello 1: Impronta del Browser
- WebGL (8 proprietà): Include
UNMASKED_VENDOR_WEBGLeUNMASKED_RENDERER_WEBGLper l'identificazione della GPU. - Schermo (8 proprietà): Controlla le dimensioni, la profondità del colore e lo spazio disponibile sullo schermo.
- Hardware (5 proprietà): Sonda
hardwareConcurrency,deviceMemoryemaxTouchPoints. - Misurazione dei Caratteri (4 proprietà): Crea un div nascosto, imposta un carattere e misura le dimensioni del testo renderizzato.
- Sondaggio DOM (8 proprietà): Verifica le funzioni di manipolazione del DOM di base.
- Archiviazione (5 proprietà): Controlla la quota e l'utilizzo dell'archiviazione e scrive un'impronta digitale in
localStoragesotto una chiave specifica per la persistenza tra i caricamenti delle pagine.
Livello 2: Rete Cloudflare
Questo livello verifica che la richiesta sia passata attraverso la rete edge di Cloudflare controllando le intestazioni iniettate come cfIpCity, cfIpLatitude, cfConnectingIp e userRegion. Un bot che effettua richieste dirette ai server di origine di OpenAI sarebbe privo di queste intestazioni.
Livello 3: Stato dell'Applicazione
Questo è il livello più rivelatore. Il programma controlla le strutture dati interne di React:
__reactRouterContext: Una struttura interna allegata da React Router v6+.loaderData: Contiene i risultati del caricatore di route.clientBootstrap: Specifico per il processo di idratazione del rendering lato server (SSR) di ChatGPT.
Queste proprietà esistono solo se l'applicazione React di ChatGPT è stata completamente renderizzata e idratata. Un browser headless che carica HTML ma non esegue il bundle JavaScript, o un framework di bot che simula API senza eseguire React, fallirà questo controllo.
La Suite Sentinel: Più di Just Turnstile
Turnstile è un componente di un sistema più ampio denominato "Sentinel". L'analisi ha rivelato altre due sfide in esecuzione contemporaneamente.
L'Orchestratore di Segnali (271 istruzioni) installa listener di eventi per keydown, pointermove, click e altro. Monitora 36 proprietà window.__oai_so_* che tracciano la tempistica dei tasti, la velocità del mouse, i modelli di scorrimento e il tempo di inattività, formando uno strato biometrico comportamentale.
Una sfida di Proof of Work esegue un'impronta digitale di 25 campi più un hashcash SHA-256. La sua difficoltà è impostata casualmente tra 400K-500K, con il 72% delle soluzioni che si verificano in meno di 5ms. Include 7 flag di rilevamento binario (come ai e solana), tutti osservati come zero su 100 campioni.
Perché Questo È Importante per il Rilevamento dei Bot e la Privacy
Questo approccio rappresenta uno spostamento nella difesa dai bot dallo strato del browser allo strato dell'applicazione. Non è sufficiente falsificare un'impronta digitale del browser; un bot deve anche emulare perfettamente lo stato di un'applicazione React complessa e idratata. Ciò aumenta significativamente il costo e la complessità dell'automazione su larga scala.
Tuttavia, la metodologia evidenzia una considerazione sulla privacy. La chiave XOR per il programma di fingerprinting interno è generata dal server ma incorporata nel bytecode consegnato. L'entità che genera il programma—Cloudflare, in coordinamento con OpenAI—detiene la chiave per decrittografare i dati utente raccolti.
L'oscuramento serve a scopi operativi: nascondere la lista di controllo dall'analisi statica, impedire agli operatori del sito web di leggere facilmente le impronte digitali grezze, garantire l'unicità dei token e consentire a Cloudflare di aggiornare i controlli furtivamente. Ma come mostra l'analisi, non impedisce una reverse-engineering determinata.
In Numeri: L'Analisi in Dettaglio
La ricerca fornisce metriche concrete sulla scala e sulla coerenza del sistema:
- Programmi Decrittografati: 377 su 377 (tasso di successo del 100%).
- Proprietà Controllate: 55, identiche su tutti i campioni.
- Dimensioni del Programma: da 417 a 580 istruzioni VM (media 480).
- Chiavi XOR Uniche: 41 chiavi diverse osservate su 50 campioni.
- Proprietà Comportamentali Monitorate: 36 dall'Orchestratore di Segnali.
- Tempo di Risoluzione del PoW: 72% in meno di 5 millisecondi.
La ricerca è stata condotta senza accesso non autorizzato al sistema, utilizzando traffico da partecipanti consenzienti. L'SDK Sentinel è stato deobfuscato manualmente e tutta la decrittografia è stata eseguita offline.
Conclusione: Una Nuova Frontiera nella Sicurezza Centrata sull'Applicazione
L'integrazione di ChatGPT con Cloudflare Turnstile sposta il rilevamento dei bot nel regno del framework dell'applicazione. Legando la verifica allo stato interno di React, crea un'impronta digitale profondamente intrecciata con l'esperienza utente specifica che OpenAI intende proteggere.
Questa tecnica, sebbene sofisticata, sottolinea una tensione continua tra sicurezza, privacy e trasparenza. La crittografia, sebbene non sia crittograficamente assoluta, stabilisce un confine politico. Per gli utenti, significa che la loro interazione con ChatGPT viene convalidata non solo come un essere umano che naviga sul web, ma come un essere umano che utilizza specificamente l'applicazione web ChatGPT come progettata.
Related News

Cantante AI 'Eddie Dalton' Domina le Classifiche di iTunes, Scatenando un Dibattito nell'Industria

Gemma 4 E2B Alimenta la Chat AI in Tempo Reale su Dispositivo nel Progetto Parlor

GuppyLM: un piccolo progetto LLM demistifica l'addestramento dei modelli AI

Gli agenti di codifica AI abilitano gli sviluppatori a costruire strumenti complessi più velocemente

BrowserStack accusato di aver fatto trapelare indirizzi email degli utenti alla piattaforma di intelligence commerciale

