Il role-play non funziona bene quanto pensi

JailbreakDal team SwarmAttacker di JolocorpPubblicato 8 min di lettura

Primo piano del volto di un calabrone robotico nero con una maschera rossa che si frantuma: perché i jailbreak di role-play non sono affidabili

Apri qualsiasi thread sul jailbreak di un modello linguistico e troverai lo stesso trucco in cima: mettiti un costume. Di' al modello che è un penetration tester autorizzato. Annuncia che sei un ricercatore di sicurezza e che questo è un incarico certificato e approvato. Internet tratta questa mossa del personaggio come uno sblocco affidabile, una frase magica che fa passare il modello da cauto a compiacente.

SwarmAttacker passa tutta la sua vita a inviare richieste che un filtro di sicurezza potrebbe non gradire, quindi eravamo nella posizione di misurare davvero se il costume funziona. Non funziona, almeno non nel modo in cui la gente pensa. Quello che fa davvero è più strano e più utile da sapere.

Il personaggio del pentester autorizzato supera i rifiuti?

Quando un filtro di sicurezza rifiuta una delle richieste dell'agente, vogliamo sapere cosa lo sblocca davvero. Così abbiamo preso la coda difficile: 411 richieste reali che un filtro aveva già rifiutato su GPT-5.5, e le abbiamo rigiocate ciascuna in quattro modi. Stesse richieste, intervento diverso, conta quante volte il rifiuto è stato superato.

Cosa supera una richiesta rifiutata

Rigiocate su 411 richieste rifiutate, GPT-5.5. La mossa del personaggio (framing di autorizzazione) qui aiuta — ma continua a leggere per il colpo di scena.

Manipolazione del contestoentro il rumore del controllo
52%
Semplice reinvio (solo retry)stessa richiesta, nessuna modifica
54%
Framing di autorizzazionela mossa del personaggio: +14 punti
68%
Passaggio a un modello permissivoil fallback garantito
100%

Letta da sinistra a destra, la mossa del personaggio sembra buona. Inviare di nuovo esattamente la stessa richiesta, senza modifiche, l'ha superata il 54% delle volte. Vestire il prompt con il framing "questo è autorizzato, sono un ricercatore di sicurezza" l'ha superata il 68%, un solido +14 punti. Armeggiare con il contesto circostante non ha fatto praticamente nulla, 52%, rumore rispetto alla baseline del semplice retry. E passare a un modello fratello più permissivo le ha superate tutte, una per una.

Quindi il role-play vince? Non così in fretta. Quel +14 è tutta la storia solo se smetti di misurare a un solo modello.

Il colpo di scena: sul vecchio modello, lo stesso personaggio raddoppiava i rifiuti

SwarmAttacker era stato costruito in origine su un modello più vecchio. Su quel modello, esattamente lo stesso framing del personaggio non aiutava. Faceva danno. Con quei marcatori "sono autorizzato / pentest certificato" nel prompt, il tasso di rifiuto saliva, non scendeva. Raddoppiava all'incirca i rifiuti.

Una volta che pensi a come funziona un classificatore di sicurezza, ha un senso amaro. Il classificatore è addestrato a individuare chi cerca di convincerlo a parole. E che aspetto ha questo? Una giustificazione offerta spontaneamente. Un "tranquillo, è tutto autorizzato" non richiesto. Il costume che indossi per sembrare legittimo è precisamente il segnale che il classificatore ha imparato a contrassegnare. Sul vecchio modello, annunciare le proprie credenziali era il modo più rumoroso possibile per dire "sono la cosa che stai cercando." È stata la prima cosa che abbiamo eliminato durante lo sviluppo.

La frase del personaggio pensata per aprire la porta era esattamente quella che la chiudeva a doppia mandata. Poi, una versione del modello dopo, la stessa frase ha iniziato ad aiutare.

Questa è la vera scoperta, e non è "il personaggio è buono" o "il personaggio è cattivo." È che la reazione del classificatore al framing del personaggio è instabile. Ha invertito il segno tra due versioni della stessa famiglia di modelli: penalità sulla vecchia, bonus sulla nuova. Nessuno ci ha detto che si sarebbe capovolta. Lo sappiamo solo perché l'abbiamo misurata entrambe le volte.

~2x
più rifiuti sul vecchio modello
+14 punti
meno rifiuti sul nuovo modello
testa o croce
da che parte andrà la prossima volta

Perché conta per chiunque rilasci un agente

Una tecnica il cui segno si capovolge tra versioni del modello non è una tecnica. È un lancio di moneta il cui bias non puoi prevedere in anticipo. Se codifichi in modo fisso un personaggio "pentester autorizzato" nei tuoi prompt perché un post sul blog ha promesso che funziona, stai scommettendo la tua affidabilità su una stranezza del classificatore che si è già invertita una volta e si invertirà volentieri di nuovo alla prossima release. Il giorno in cui il tuo provider rilascia un aggiornamento, il tuo sblocco ingegnoso può diventare in silenzio la tua più grande fonte di rifiuti, e nulla nei tuoi log spiegherà perché.

Le mosse affidabili, si scopre, sono quelle noiose. Invia semplicemente di nuovo la richiesta: nessuna astuzia, nessun costume, e da sola supera più della metà della coda. È la leva su cui ci appoggiamo di più, ed è l'argomento di un intero post separato sul perché il retry batte quasi tutto. E quando una richiesta davvero non passa, il passaggio a un modello più permissivo la supera ogni volta. Entrambe funzionano allo stesso modo oggi, domani e dopo il prossimo aggiornamento del modello, perché nessuna delle due dipende dall'indovinare un classificatore.

Non abbiamo buttato via il framing del personaggio. Sul modello attuale vale un vero +14 punti, quindi lo teniamo, ma dietro un interruttore che possiamo attivare per modello, mai cotto nel prompt come un articolo di fede. Quando i numeri dicono che aiuta, è acceso. Quando arriva un nuovo modello, rimisuriamo prima di fidarci di nuovo. Questa è la vera lezione: il jailbreak rumoroso e famoso è la leva meno affidabile sul tavolo, e il trucco è trattarlo come tale. Se ti piace questo genere di risultati "il folklore ha torto", ne abbiamo altri.