Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
aegis-audio-defense — Framework di difesa che mantiene congelati i modelli audio-linguaggio e aggiunge un gate di rischio a livello intermedio con adattatori di sicurezza a livello tardivo per bloccare i jailbreak audio in fase di inferenza. | Kitploit
Strumenti/GitHubGitHub/azzzzliao/aegis-audio-defense
Strumenti DifensiviAnalisi delle VulnerabilitàMachine LearningPaper e RicercaSicurezza dell'IAAttacco Avversario
GitHubazzzzliao/aegis-audio-defense

aegis-audio-defense

Framework di difesa che mantiene congelati i modelli audio-linguaggio e aggiunge un gate di rischio a livello intermedio con adattatori di sicurezza a livello tardivo per bloccare i jailbreak audio in fase di inferenza.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Vedi Repository
93 giorni faNon ancora revisionato
Condividi

AEGIS: Audio Endogenous Guarding via Internal Signals Against Large Audio-Language Model Jailbreaks

Yu-Ling Liao*, Tzu-Chin Chiu*, Zong-You Chen*, Chi-Lei Tsai*, Shao-Yuan Lo — National Taiwan University (*equal contribution)

Codice per la sottomissione a ICASSP 2027. AEGIS mantiene congelato il modello audio-linguaggio di destinazione e aggiunge un gate di rischio a livello intermedio che pilota condizionatamente gli adattatori di sicurezza degli strati finali, con scaling a ciclo chiuso in inferenza.

Contenuti

PaginaCosa contiene
MetodoIl divario rischio-rifiuto, il gate e gli adattatori, la loss di training, il ciclo chiuso.
RisultatiLe tabelle del paper: sei modelli, tre benchmark, l'ablation, e il confronto delle difese.
Analisi oltre il paperIl divario rischio-rifiuto negli altri cinque modelli, il comportamento del gate, le rappresentazioni, la tabella completa dell'ablation.
DatiDa dove proviene ciascun dataset e come vengono costruiti i manifest.
Aggiungere un modelloPortare AEGIS su un altro LALM scrivendo un solo adattatore.

In questa pagina: Struttura del repository · Setup · Dati · Eseguire AEGIS · Protocollo · Ablation · Test · Citazione

Struttura del repository

root@kitploit:~
aegis/                        defense runtime; every script runs from any directory
  model_registry.py           ModelAdapter interface, registry, Qwen2-Audio and Phi-4 adapters
  adapters_gemma_voxtral.py   Gemma 4 E4B-it and Voxtral-Small-24B adapters
  adapters_ultravox_vita.py   Ultravox v0.5 and VITA-1.5 adapters
  train_gate_lora.py          joint training of the risk gate and the safety adapters
  run_defense.py              gated inference with closed-loop scaling (--score-only: gate scores)
  run_model.py                undefended generation
  judge.py                    Llama-Guard-3-8B safety judge
  refusal.py                  refusal regex for the over-refusal metric
  extract_hidden.py, analysis/  hidden-state probes for layer selection
scripts/
  prepare_data.py             downloaded datasets -> manifests (+ in-domain test splits)
  run_baseline.sh             step 0: undefended responses, judgments, training files
  run_aegis.sh                steps 1-4 for one protocol (PROTOCOL=indomain or lobo)
  run_ablation.sh             the Full and Always-on ablations
  models.sh                   per-model gate layer, intervention layers, prompt mode
  build_trainsets.py, calibrate_threshold.py, summarize.py
data/splits/                  in-domain train/test ids used in the paper
docs/                         method, results, analyses, porting guide
tests/                        CPU tests of the evaluation protocol

Setup

root@kitploit:~
pip install -r requirements.txt

Ogni modello richiede una versione di Transformers in grado di caricarlo. Gli upstream sono in disaccordo, quindi abbiamo usato un ambiente per famiglia di modelli:

MODELModello baseHugging Face id (variabile di override)Gate layerIntervention layersTransformers usato
gemma4_e4b_itGemma 4 E4B ITgoogle/gemma-4-E4B-it (AEGIS_GEMMA4_PATH)2125–415.7.0.dev0
phi4_mmPhi-4-multimodalmicrosoft/Phi-4-multimodal-instruct (AEGIS_PHI4_MM_PATH)1519–315.7.0.dev0
vita_15VITA-1.5VITA-MLLM/VITA-1.5 (AEGIS_VITA_PATH)1519–274.43.4
qwen2_audioQwen2-Audio-7B-InstructQwen/Qwen2-Audio-7B-Instruct (AEGIS_QWEN2_AUDIO_PATH)1519–31≥ 4.45
ultravox_v05Ultravox v0.5 (Llama-3.1-8B)fixie-ai/ultravox-v0_5-llama-3_1-8b (AEGIS_ULTRAVOX_PATH)1519–314.48.1
voxtral_smallVoxtral Small 24Bmistralai/Voxtral-Small-24B-2507 (AEGIS_VOXTRAL_PATH)2428–394.57.6
  • I modelli vengono caricati dall'Hub per impostazione predefinita. Per eseguire offline, puntare la variabile di override a uno snapshot locale.
  • Llama-Guard-3-8B, Gemma 4 e il backbone Llama-3.1 che Ultravox scarica sono gated sull'Hub. Accettare le loro licenze ed eseguire huggingface-cli login, oppure impostare GUARD e AEGIS_LLAMA31_PATH su copie locali.
  • VITA-1.5 richiede il suo codice GitHub: clonare https://github.com/VITA-MLLM/VITA e impostare AEGIS_VITA_REPO sul checkout (default: external/VITA).
  • Hardware: una GPU da 48 GB è sufficiente per la maggior parte dei modelli. Il training di Gemma 4 richiede una singola scheda con almeno ~40 GB, perché la loss con vocabolario da 262k non si sharda bene. Voxtral Small richiede due schede da 48 GB (DEVICE=auto sharda il modello; il gate e gli adattatori seguono gli strati a cui sono agganciati). Anche Qwen2-Audio e Phi-4 traggono beneficio da DEVICE=auto sui clip lunghi di AJail.

Dati

Scaricare i cinque dataset come descritto in data/README.md, poi costruire i manifest:

root@kitploit:~
python scripts/prepare_data.py --data-root data --out-dir data/manifests

Lo script verifica i conteggi di righe usati nel paper: AJail 1.490, JALM 946, SACRED 1.364, XSTest 250, Benign_train 215. Scrive anche gli split di test in-domain (718 / 499 / 683 righe) dalle liste di id in data/splits/.

Eseguire AEGIS

Per ciascun modello (PY è il Python dell'ambiente di quel modello; JUDGE_PY può puntare a un ambiente diverso per Llama Guard):

root@kitploit:~
MODEL=gemma4_e4b_it PY=python DEVICE=cuda:0 bash scripts/run_baseline.sh                  # step 0
MODEL=gemma4_e4b_it PROTOCOL=indomain PY=python DEVICE=cuda:0 bash scripts/run_aegis.sh   # in-domain
MODEL=gemma4_e4b_it PROTOCOL=lobo     PY=python DEVICE=cuda:0 bash scripts/run_aegis.sh   # LOBO

Ogni fase è ripristinabile; rieseguire lo stesso comando dopo un'interruzione. Gli output vanno in runs/<model>/:

root@kitploit:~
baseline/                        undefended responses; <bench>_judged.jsonl = Llama Guard labels
train/train_{indomain,lobo}_<bench>.jsonl
<protocol>/<bench>/adapter/      router_head.pt, late_adapters.pt, config.json
<protocol>/<bench>/scores/       gate scores on XSTest and on the evaluation set
<protocol>/<bench>/threshold.json
<protocol>/<bench>/defended/     defended responses and their judgments
<protocol>/summary.json          unsafe rate, over-refusal, gate AUROC per benchmark

Protocollo

  • Impostazioni di valutazione. In-domain: AEGIS viene addestrato sullo split di train di un benchmark e valutato sul suo split di test held-out, un adattatore per benchmark. Gli split sono 50/50, seed 42, raggruppati per prompt in modo che le varianti della stessa richiesta restino su un lato; gli id sono in data/splits/. LOBO (leave one benchmark out): AEGIS viene addestrato sugli altri due benchmark e valutato sull'intero benchmark held-out. In entrambe le impostazioni i dati valutati non prendono mai parte alla selezione della soglia, e XSTest non viene mai usato per il training.
  • Dati di training (scripts/build_trainsets.py). L'audio benigno è Benign_train con le risposte undefended del modello stesso come target. I prompt benigni che sembrano dannosi e che il modello ha rifiutato al baseline vengono scartati. I target dannosi sono template di rifiuto generici. Il numero di clip dannosi è uguale al numero di clip benigni. Seed 42.
  • Ottimizzazione. AdamW, learning rate 2e-4, 4 epoche, gradient accumulation 8, LoRA rank 16, λ_BCE = 1.0, λ_L1 = 0.01.
  • Prompt. Qwen2-Audio riceve solo l'audio (PROMPT_MODE=native); gli altri modelli ricevono l'audio più un prompt testuale fisso. Il gate legge uno hidden state dipendente dal prompt, quindi un adattatore è valido solo con la modalità prompt con cui è stato addestrato.
  • Soglia (scripts/calibrate_threshold.py). Gli id di XSTest vengono ordinati e divisi alternatamente in una metà di validazione e una metà di test. La soglia è il più piccolo gate score la cui over-refusal aggiunta sulla metà di validazione è al massimo del 10%, contata sui prompt a cui il modello undefended ha risposto.
  • Ciclo chiuso. La probabilità di rifiuto somma la probabilità del next-token degli opener di rifiuto all'ultimo strato. Le esecuzioni in-domain usano la lista multilingue di opener (REFUSAL_PHRASE_SET=multi, impostata da run_aegis.sh), così i rifiuti non in inglese contano.
  • Metriche (scripts/summarize.py): l'unsafe rate è la quota di righe valutate che Llama-Guard-3-8B etichetta come unsafe; l'over-refusal è la quota di risposte XSTest che corrispondono a aegis/refusal.py, riportata su tutti i 250 prompt e sulla metà di test; il gate AUROC usa i gate score grezzi con gli attacchi come positivi e XSTest come negativi.

Ablation

root@kitploit:~
MODEL=qwen2_audio VARIANT=full bash scripts/run_ablation.sh        # LoRA on all layers, no gate
MODEL=qwen2_audio VARIANT=always_on bash scripts/run_ablation.sh   # AEGIS layers, no gate

Test

root@kitploit:~
python -m unittest discover tests

Citazione

root@kitploit:~
@misc{liao2027aegis,
  title  = {{AEGIS}: Audio Endogenous Guarding via Internal Signals Against Large Audio-Language Model Jailbreaks},
  author = {Liao, Yu-Ling and Chiu, Tzu-Chin and Chen, Zong-You and Tsai, Chi-Lei and Lo, Shao-Yuan},
  note   = {Submitted to ICASSP 2027},
  year   = {2026}
}

Licenza

Il codice è rilasciato sotto la MIT License. I modelli base (ad es. Gemma 4, Llama 3.1 in Ultravox, Llama-Guard-3-8B) e i benchmark mantengono le proprie licenze e condizioni d'uso.

Scarica lo strumento