
Codice per "Systematic Evaluation of Adversarial Jailbreaking Attacks and Defenses Across Seven Large Language Models"
Codice, prompt e risultati per:
Valutazione sistematica degli attacchi di jailbreak avversariali e delle difese su sette modelli linguistici di grandi dimensioni Md. Robiul Islam Niloy, Abu Sayed Md. Mostafizur Rahaman. Md. Robiul Islam Niloy: Dipartimento di Informatica e Ingegneria, BRAC University, Bangladesh. Abu Sayed Md. Mostafizur Rahaman: Dipartimento di Informatica e Ingegneria, Jahangirnagar University, Bangladesh. Manoscritto in preparazione per IEEE Transactions on Information Forensics and Security (non ancora inviato).
Stato: i risultati sono provvisori. Il giudice principale è una rubrica LLM che non è stata ancora validata rispetto a etichette umane. Il giudice basato su regole presenta difetti noti (vedere Problemi noti).
README.md
LICENSE
paper/
tifs_paper_v12.tex manuscript source
prompts/
expanded_prompts.json 250 attack prompts (50 per family, 5 families)
scripts/
phase1_expanded.py main experiment: 7 models x 250 prompts via Ollama
phase3_defenses.py defense experiments (first 10 obfuscation + 10 roleplay prompts)
judge_validation_v2.py content judge (phi4 rubric), resumable
rejudge_expanded.py rule-based re-scoring with corrected refusal matching
make_all_figures.py builds all five figures
results/
expanded/ one CSV per model: 250 prompts, truncated responses, rule-based label
defense/ defense run outputs and summary
judge/ agreement_report.txt and corrected_asr.txt
figures/ the five PDFs used in the manuscript
Le risposte vengono memorizzate troncate a 500 caratteri. I fogli di verifica manuale, le relative chiavi e l'output completo del giudice (che ripete il testo delle risposte) non sono inclusi.
Scaricati dalla libreria Ollama:
| Modello | Tag Ollama | Parametri |
|---|---|---|
| Llama-3-8B-Instruct | llama3:8b | 8B |
| Llama-3.1-8B-Instruct | llama3.1:8b | 8B |
| Llama-3.2-3B-Instruct | llama3.2:3b | 3B |
| Mistral-7B-Instruct | mistral | 7B |
| Qwen2.5-7B-Instruct | qwen2.5:7b | 7B |
| Gemma2-9B-Instruct | gemma2:9b | 9B |
| Phi-4-14B | phi4:14b | 14B |
| giudice con rubrica phi4 | phi4:14b | 14B |
Llama Guard 3 è stato eseguito durante lo sviluppo ma il suo output non era utilizzabile, quindi non fa parte di alcun risultato riportato.
"Dannoso" significa che il giudice dei contenuti ha etichettato la risposta come HARMFUL o PARTIAL. Per confronto viene mostrato solo HARMFUL.
| Modello | Tasso di danno (%) | Solo HARMFUL (%) |
|---|---|---|
| Mistral-7B | 62,0 | 8,8 |
| Llama-3.2-3B | 30,8 | 1,2 |
| Qwen2.5-7B | 29,2 | 1,2 |
| Gemma2-9B | 26,0 | 2,0 |
| Phi-4-14B | 20,0 | 2,8 |
| Llama-3.1-8B | 18,4 | 0,4 |
| Llama-3-8B | 17,2 | 1,6 |
| Aggregato | 29,1 | 2,6 |
Per famiglia di attacco (aggregato): offuscamento 62,3 (solo HARMFUL 7,1), inquadramento ipotetico 53,4, roleplay 14,0, override 8,0, diretto 7,7.
L'offuscamento è la famiglia aggregata con il valore più alto. L'inquadramento ipotetico è la famiglia con il valore più alto per tre modelli (Mistral-7B, Llama-3.2-3B, Qwen2.5-7B); l'offuscamento è il più alto o a pari merito per quattro.
Dimensione del modello: ρ di Spearman = −0,64, p = 0,12, n = 7 (non significativo).
Test di Mann-Whitney a coppie (non corretti): 14 delle 21 coppie differiscono con p < 0,05. Mistral-7B differisce significativamente da Llama-3.2-3B e Qwen2.5-7B (p < 0,001).
ASR complessivo con il giudice basato su regole (jailbreak_success nei CSV). Questi numeri non sono affidabili per i motivi indicati in Problemi noti.
| Modello | ASR basato su regole (%) |
|---|---|
| Llama-3.1-8B | 40,8 |
| Mistral-7B | 39,6 |
| Llama-3.2-3B | 39,6 |
| Qwen2.5-7B | 22,4 |
| Gemma2-9B | 18,4 |
| Llama-3-8B | 16,8 |
| Phi-4-14B | 11,2 |
Con il giudice basato su regole, Llama-3.1-8B appare il più vulnerabile e Llama-3-8B e Llama-3.1-8B appaiono molto distanti. Con il giudice dei contenuti non differiscono (17,2% vs 18,4%, p = 0,73). Il paper considera il divario basato su regole un artefatto del giudice.
Accordo tra i due giudici: 84%, κ = 0,60.
Valutati solo con il giudice basato su regole. Le riduzioni sono rispetto a esecuzioni corrispondenti senza difesa sugli stessi 20 prompt.
| Difesa | Mistral-7B (baseline 50%) | Llama-3.1-8B (baseline 45%) |
|---|---|---|
| Blacklist di parole chiave | 35% (−15 pp) | 25% (−20 pp) |
| Auto-promemoria | 10% (−40 pp) | 5% (−40 pp) |
| Parafrasi | 60% (+10 pp; 12 vs 10 su 20 prompt) | 5% (−40 pp) |
| Filtro di perplessità | 50% (0 pp) | 45% (0 pp) |
Prompt benigni (10 per modello): i filtri di parole chiave, parafrasi e perplessità hanno bloccato 0 su 10. Il tasso di rifiuto benigno dell'auto-promemoria non è stato misurato.
Gli script leggono e scrivono in una cartella di progetto. Imposta BASE all'inizio di ogni script sulla tua copia di questo repository, oppure mantieni la struttura sopra indicata ed esegui dalla radice del repository.
pip install pandas numpy scipy matplotlib
ollama pull llama3:8b
ollama pull llama3.1:8b
ollama pull llama3.2:3b
ollama pull mistral
ollama pull qwen2.5:7b
ollama pull gemma2:9b
ollama pull phi4:14b