
Vulnerabilità di jailbreak attraverso le profondità di uscita anticipata dei LLM. Pubblicato a NeurIPS 2026 nel workshop FLMSec
In che modo l'uscita anticipata modifica la vulnerabilità di un modello linguistico ai jailbreak? Studiamo gli attacchi GCG su Balcony-LLaMA2-7B e Balcony-LLaMA3-8B ai layer 15, 18, 21 e alla profondità completa (32), utilizzando HarmBench e AdvBench.
TAO è un'estensione pianificata con codice sperimentale. Le precedenti esecuzioni da 1B erano test di sviluppo; nessuna delle due contribuisce con risultati a questo studio.
GCG su 150 step su 50 comportamenti per benchmark, eseguito su una singola GPU NVIDIA RTX PRO 6000 Blackwell. Le figure e le tabelle seguenti provengono direttamente dal paper, che è la fonte di verità per i risultati riportati.







Richiede Linux, Python 3.12, una GPU NVIDIA e un driver compatibile con CUDA 12.8. Dalla radice del repository, installa l'ambiente e avvia una piccola esecuzione GCG:
bash scripts/setup.sh
.venv/bin/python scripts/run.py experiment --model 7b --stage gcg \
--benchmarks harmbench --n-behaviors 2 --num-steps 5 --results-dir results/runs/pilot
Il setup inizializza i sottomoduli, applica le patch del toolkit e installa .venv/.
Per i checkpoint ad accesso limitato, accetta le relative licenze Hugging Face ed esegui
.venv/bin/hf auth login.
Per GCG, la valutazione e la valutazione dell'utilità a tutte le uscite:
.venv/bin/python scripts/run.py experiment --model 7b
Scegli --model 7b o --model 8b. I nuovi output restano locali in results/runs/<model>/.
Usa --dry-run per ispezionare i comandi senza caricare i modelli.
Riferimento dei comandi.
| Percorso | Contenuti |
|---|---|
adapter/ | Codice e wrapper del modello a uscita anticipata |
experiments/ | Implementazioni di attacco, valutazione e analisi |
scripts/ | Setup e runner condiviso |
results/ | Figure e tabelle del paper, archivi storici ed esecuzioni locali |
third_party/ | Dipendenze bloccate e avvisi di licenza |
Gli archivi grezzi e le esportazioni più vecchie non sono sincronizzati con il paper. Mantieni separate le esecuzioni 7B con e senza template di chat.
Le dipendenze sono bloccate in .gitmodules; le correzioni del toolkit sono in patches/.