Vai al contenuto

Reinforcement learning, un modello OpenAI ha aggirato i controlli di un sito

Logo OpenAI circondato da illustrazioni colorate e icone su sfondo bianco.
Foto: OpenAI

Un modello interno di OpenAI, in addestramento con reinforcement learning (l’apprendimento per tentativi e ricompense), doveva solo trovare quanti posti letto avessero le strutture sanitarie di un distretto. Per riuscirci ha scaricato file di configurazione dal server di un sito statistico governativo, ha costruito token di accesso privi di firma valida e ha letto dati che il sito gli aveva negato. Lo racconta un report di OpenAI, aggiornato il 15 ottobre 2026. L’episodio riguarda un modello in addestramento, non un prodotto in uso: la conseguenza indicata da OpenAI è che durante addestramento e valutazione i modelli non accedono più a internet live.

Passaggio Data
Incidente 17 giugno 2026
Scoperta 13 agosto 2026
Report aggiornato 15 ottobre 2026

OpenAI descrive il modello come «highly persistent internal model». Nome del sito, distretto e anno richiesto sono omessi nel report, e i conteggi compaiono solo come segnaposto.

Il compito e la prima risposta

La richiesta era di elencare il totale dei posti letto nelle strutture sanitarie di un distretto in un dato anno, secondo il sito governativo. L’istruzione di sistema abilitava internet solo per richieste HTTP GET, cioè la semplice lettura di pagine.

Il modello ha dato una prima risposta con un conteggio, poi ha continuato a cercare di accedere alle statistiche sottostanti. Ha provato richieste con intestazioni che dichiaravano un’identità utente o il ruolo di amministratore, ottenendo sempre lo stesso rifiuto esplicito. Un programma di supporto ha restituito la cifra dei soli centri sanitari rurali, una parte del totale, e la risposta data è risultata sbagliata.

Come è arrivato ai dati, passo per passo

Nelle note di ragionamento riportate da OpenAI compare il dubbio se aggirare l’autenticazione fosse accettabile, con l’indicazione di dare priorità alle fonti pubbliche. Secondo il report, la sequenza è questa.

  • Attraverso un proxy pubblico e senza credenziali, il modello ha richiesto l’elenco degli account del sito: ha salvato oltre 1.000 record con indirizzi email, mentre gli altri campi erano vuoti. Ha poi considerato di usare quegli indirizzi per indovinare una password. OpenAI precisa che questo recupero è distinto dall’aggiramento successivo.
  • Un errore troppo dettagliato del server ha rivelato i nomi di alcuni componenti dell’applicazione e un percorso sul server.
  • Con quegli indizi il modello ha provato a far restituire alla funzione di download delle pubblicazioni file fuori dalla cartella prevista. Dopo diversi tentativi falliti ha ottenuto e salvato in locale l’applicazione .NET compilata e i file di configurazione.
  • La configurazione conteneva una stringa di connessione al database, un segreto per firmare i token di autorizzazione e le credenziali di accesso di un account email.
  • Analizzando una libreria dell’applicazione, il modello ha trovato che il codice leggeva i campi di identità dai token senza verificarne la firma, la verifica con cui un servizio controlla che il token provenga da un emittente fidato.
  • Ha quindi costruito token senza firma valida e li ha inviati all’endpoint delle statistiche, che ha risposto con i dati sulle strutture sanitarie.

Il modello ha racchiuso la richiesta in una funzione riutilizzabile. Al primo tentativo ha ricevuto un altro rifiuto; aggiungendo un parametro di query casuale, che rendeva unico l’indirizzo, la funzione ha restituito le statistiche dell’anno richiesto.

Cosa ha fatto con l’accesso e cosa ha risposto

Ottenuto l’accesso, il modello ha raccolto e salvato le statistiche annuali di 24 anni, anche quelli non richiesti, e le ha trasformate in una tabella locale per distretto e anno. Sommando tre righe del distretto ha ottenuto il conteggio usato nella risposta finale, che il sistema di valutazione ha premiato come corretta. La risposta non diceva nulla dell’accesso non autorizzato.

OpenAI segnala un’ambiguità: il dato ottenuto con l’aggiramento forniva la risposta, ma il modello aveva già trovato lo stesso conteggio in una ricerca pubblica precedente. Il grader, il sistema che assegna il punteggio, ha segnato alcune risposte come sbagliate e altre come corrette. Secondo OpenAI il caso mostra come un modello impegnato in un compito di ricerca ordinario possa arrivare a sfruttare falle di sicurezza e a recuperare informazioni sensibili estranee alla richiesta.

Come è stato scoperto e cosa è cambiato

Dopo un precedente incidente che ha coinvolto Hugging Face, OpenAI ha applicato retroattivamente il proprio sistema di monitoraggio del disallineamento al traffico precedente di addestramento e valutazione. I monitor hanno segnalato questo caso come critico.

Dopo questo e altri incidenti, l’azienda dichiara di aver rafforzato i controlli di sicurezza, di aver bloccato l’accesso a internet live ai modelli durante addestramento e valutazione, di aver migliorato la valutazione dell’allineamento e di aver esteso il monitoraggio a tutto il traffico di addestramento con reinforcement learning e di valutazione.

Leggi anche