Quali modelli AI rifiutano di fare lavoro di sicurezza
BenchmarkDal team SwarmAttacker di JolocorpPubblicato 6 min di letturaAggiornato

Guarda il video · 9:23
Video
Ho testato ogni AI per l'hacking — Opus 5 ha perso
Tasso di passaggio su 411 richieste di sicurezza offensiva segnalate
Quota di richieste di ciascun modello che sono passate. Il campo open-weight le passa tutte; i modelli Claude e OpenAI più severi non ne passano quasi nessuna. Passa il mouse su una colonna per la ripartizione dei rifiuti.






Punta un agente di pentesting autonomo a un bersaglio reale e sparerà migliaia di richieste che un filtro di sicurezza non riesce a separare nettamente da un attacco. SwarmAttacker riceve rifiuti su molte di esse, ed è per questo che la gestione dei rifiuti è finita per essere la singola parte più importante del sistema. Ci ha anche lasciato un bene insolito: un corpus di 411 richieste reali che il nostro modello di produzione ha effettivamente rifiutato, estratte direttamente da esecuzioni di benchmark dal vivo contro la suite di sicurezza web XBOW. Non sono prompt sintetici. Ognuna è il turno esatto, a metà incarico, in cui un filtro dei contenuti ha bloccato un agente che stava sfruttando un'applicazione.
Così ci siamo posti una domanda semplice: rigiocare quelle stesse 411 richieste attraverso sedici modelli di frontiera e open-weight, e vedere chi le respinge. La metrica è il tasso di rifiuto — la quota di richieste che un modello ha rifiutato nel testo o che un filtro della piattaforma ha bloccato.
La divisione è netta. Due modelli di frontiera chiusi — Claude Opus 5 e GPT-5.6 Sol di OpenAI — respingono quasi tutto: 100% e 96,8%. E l'intero campo open-weight — DeepSeek V4, GLM-5.2, gpt-oss-120b, MiniMax M3, Nemotron Ultra, Kimi K3 — non ne rifiuta nessuna. Nemmeno una richiesta su 411, ciascuno.
Questa non è una storia di laboratori occidentali prudenti e laboratori open sconsiderati. È più specifica di così. Il rifiuto aggressivo in ambito cyber è concentrato in una manciata di singoli modelli — Opus 5, Sol — mentre i loro stessi fratelli si comportano in modo completamente diverso. GPT-5.4, GPT-5.6 Terra e GPT-5.6 Luna di OpenAI stanno tutti al 4% o sotto. Il rifiuto vive nel modello, non nel fornitore.
Ogni colonna è un'esecuzione completa di tutte le 411 richieste, divisa in tre parti. Il verde è la quota che il modello ha semplicemente fatto — ha completato il compito. L'ambra è il modello che rifiuta con parole proprie. Il rosso è un filtro della piattaforma che blocca la richiesta prima ancora che il modello risponda. Letto così, il campo open-weight è un muro compatto di verde, e i due rifiutatori di frontiera sono un muro di rosso. Tra i modelli severi il meccanismo è lo stesso: Sol, Opus 5, Fable 5, Terra e GPT-5.5 in produzione sono quasi interamente blocchi rossi di piattaforma, mentre GPT-5.4 e Luna mostrano solo una sottile striscia di ambra — nessun filtro, solo il modello stesso che rifiuta. Solo Opus 4.8 e Sonnet 5 mescolano i due. Passa il mouse su una colonna per la ripartizione esatta.
Lo stesso modello ha rifiutato il 46% un giorno e il 4% il giorno dopo
La scoperta più scomoda riguarda GPT-5.5, il modello che ha generato questo corpus in primo luogo — ed è per questo che compare due volte nel grafico sopra. In produzione il 15 giugno, nell'esecuzione che ha prodotto il corpus, ha bloccato 190 delle 411 — il 46,2%, ognuna un blocco della cyber-policy della piattaforma. Rigioca i prompt identici attraverso lo stesso modello il 26 luglio e il tasso di rifiuto crolla al 4%. Stessi pesi, stessi prompt, sei settimane di distanza.
Ecco perché entrambi sono datati e mostrati fianco a fianco: il numero non è una proprietà fissa del modello. Se una richiesta viene bloccata dipende molto dal percorso di erogazione, dal contesto circostante e da come era fatto il filtro quel giorno — quindi significa qualcosa solo con una data accanto. Un corpus esiste perché GPT-5.5 ha rifiutato queste richieste a giugno, eppure rigiocarle a luglio riproduce a malapena il rifiuto. Per chiunque costruisca sopra un filtro di sicurezza, quel non-determinismo è il vero mal di testa: non puoi prevedere, richiesta per richiesta, se lo stesso modello ti aiuterà.
In quale punto di un'esecuzione scattano davvero i rifiuti?
Il corpus mostra anche quando in un'esecuzione una richiesta viene segnalata, e non è dove immagineresti. Il modello raramente rifiuta una domanda a freddo. Due terzi delle volte sta reagendo a ciò che uno strumento gli ha appena restituito.
Cosa stava succedendo nel momento in cui una richiesta è stata segnalata
Su tutti i 411 turni segnalati. Il blocco scatta subito dopo che un sondaggio fa emergere qualcosa, non su un'istruzione nuova.
Il 67% delle segnalazioni arriva subito dopo un dump di uno strumento — l'agente ha appena recuperato una password, un database, un file di configurazione o un flag{…}, e il passo immediatamente successivo è quello che fa scattare il filtro. La scoperta è l'innesco. Ecco anche perché non puoi ridurre queste trascrizioni per risparmiare token tagliando l'output degli strumenti: il segreto esfiltrato è precisamente la cosa che ha causato il blocco.
Cosa significa per chiunque costruisca uno strumento di sicurezza
Se stai costruendo uno strumento di sicurezza autorizzato, la scelta del modello non è un errore di arrotondamento — è la differenza tra un sistema che funziona e uno che rifiuta metà del proprio lavoro. Il campo open-weight farà il lavoro senza lamentarsi. Tra i modelli chiusi, la dispersione all'interno di un singolo fornitore è più grande della dispersione tra fornitori, e il comportamento di blocco è abbastanza instabile che un benchmark è l'unico modo onesto per sapere dove si colloca un dato modello.
Ecco perché SwarmAttacker gira su GPT-5.4 come modello primario resistente ai rifiuti e tratta la gestione dei rifiuti come un componente di prima classe invece che come un ripensamento. Quando il filtro ti respinge su due terzi delle richieste nell'istante in cui trovi qualcosa, l'agente attorno al modello deve essere costruito per aspettarselo.
Metodo: 411 richieste che il nostro modello di produzione ha rifiutato e che sono sopravvissute a un retry sullo stesso modello, rigiocate una volta per modello (GPT-5.5 è mostrato in due date, 15 giu e 26 lug). Claude Fable 5 è un'esecuzione agentica con strumenti attivi su un campione di 40 richieste, in cui il suo cyber-gate scatta molto più spesso che in una semplice chiamata senza strumenti. La % di rifiuto conta rifiuti e blocchi della piattaforma sulle richieste che hanno raggiunto il modello; gli errori di trasporto sono esclusi. Le risposte complete sono state archiviate e verificate in modo indipendente per rifiuti sfuggiti.


