Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
aegis-audio-defense — Estrutura de defesa que mantém os modelos de áudio-linguagem congelados e adiciona um portão de risco em camada intermediária com adaptadores de segurança em camadas finais para bloquear jailbreaks de áudio na inferência. | Kitploit
Ferramentas/GitHubGitHub/azzzzliao/aegis-audio-defense
Ferramentas DefensivasAnálise de VulnerabilidadesAprendizado de MáquinaPapers e PesquisaSegurança de IAAtaque Adversário
GitHubazzzzliao/aegis-audio-defense

aegis-audio-defense

Estrutura de defesa que mantém os modelos de áudio-linguagem congelados e adiciona um portão de risco em camada intermediária com adaptadores de segurança em camadas finais para bloquear jailbreaks de áudio na inferência.

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Ver Repositório
9há 3 diasAinda não revisado
Compartilhar

AEGIS: Proteção Endógena de Áudio via Sinais Internos Contra Jailbreaks em Grandes Modelos de Áudio-Linguagem

Yu-Ling Liao*, Tzu-Chin Chiu*, Zong-You Chen*, Chi-Lei Tsai*, Shao-Yuan Lo — Universidade Nacional de Taiwan (*contribuição igualitária)

Código para a submissão ao ICASSP 2027. O AEGIS mantém o modelo de áudio-linguagem alvo congelado e adiciona um portão de risco em camada intermediária que aciona condicionalmente adaptadores de segurança em camadas tardias, com escalonamento em malha fechada na inferência.

Conteúdo

PáginaO que contém
MétodoA lacuna risco-para-recusa, o portão e os adaptadores, a perda de treinamento, a malha fechada.
ResultadosAs tabelas do artigo: seis modelos, três benchmarks, a ablação e a comparação de defesa.
Análises além do artigoA lacuna risco-para-recusa nos outros cinco modelos, comportamento do portão, representações, a tabela completa de ablação.
DadosDe onde vem cada conjunto de dados e como os manifestos são construídos.
Adicionando um modeloPortar o AEGIS para outro LALM escrevendo um adaptador.

Nesta página: Estrutura do repositório · Configuração · Dados · Executando o AEGIS · Protocolo · Ablações · Testes · Citação

Estrutura do repositório

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

Configuração

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

Cada modelo precisa de uma versão do Transformers que consiga carregá-lo. Os upstreams divergem, então usamos um ambiente por família de modelo:

MODELModelo baseId do Hugging Face (variável de substituição)Camada do portãoCamadas de intervençãoTransformers usado
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
  • Os modelos carregam do Hub por padrão. Para executar offline, aponte a variável de substituição para um snapshot local.
  • Llama-Guard-3-8B, Gemma 4 e o backbone Llama-3.1 que o Ultravox baixa são restritos no Hub. Aceite suas licenças e execute huggingface-cli login, ou defina GUARD e AEGIS_LLAMA31_PATH para cópias locais.
  • VITA-1.5 precisa do seu código do GitHub: clone https://github.com/VITA-MLLM/VITA e defina AEGIS_VITA_REPO para o checkout (padrão: external/VITA).
  • Hardware: uma GPU de 48 GB é suficiente para a maioria dos modelos. O treinamento do Gemma 4 precisa de uma única placa com pelo menos ~40 GB, porque a perda de vocabulário de 262k não é bem fragmentada. O Voxtral Small precisa de duas placas de 48 GB (DEVICE=auto fragmenta o modelo; o portão e os adaptadores seguem as camadas que eles interceptam). Qwen2-Audio e Phi-4 também se beneficiam de DEVICE=auto nos clipes longos do AJail.

Dados

Baixe os cinco conjuntos de dados conforme descrito em data/README.md, depois construa os manifestos:

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

O script verifica as contagens de linhas usadas no artigo: AJail 1.490, JALM 946, SACRED 1.364, XSTest 250, Benign_train 215. Ele também escreve as divisões de teste in-domain (718 / 499 / 683 linhas) a partir das listas de ids em data/splits/.

Executando o AEGIS

Para cada modelo (PY é o Python do ambiente daquele modelo; JUDGE_PY pode apontar para um ambiente diferente para o 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

Cada estágio é retomável; execute novamente o mesmo comando após uma interrupção. As saídas vão para 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

Protocolo

  • Configurações de avaliação. In-domain: O AEGIS é treinado na divisão de treino de um benchmark e avaliado na sua divisão de teste reservada, um adaptador por benchmark. As divisões são 50/50, seed 42, agrupadas por prompt para que variantes da mesma requisição permaneçam de um lado; os ids estão em data/splits/. LOBO (leave one benchmark out): O AEGIS é treinado nos outros dois benchmarks e avaliado no benchmark reservado completo. Em ambas as configurações, os dados avaliados nunca participam da seleção de limiar, e o XSTest nunca é usado para treinamento.
  • Dados de treinamento (scripts/build_trainsets.py). O áudio benigno é o Benign_train com as próprias respostas não defendidas do modelo como alvos. Prompts benignos que parecem prejudiciais e que o modelo recusou na linha de base são descartados. Os alvos prejudiciais são templates genéricos de recusa. O número de clipes prejudiciais é igual ao número de clipes benignos. Seed 42.
  • Otimização. AdamW, taxa de aprendizado 2e-4, 4 épocas, acumulação de gradiente 8, rank LoRA 16, λ_BCE = 1.0, λ_L1 = 0.01.
  • Prompt. Qwen2-Audio recebe apenas o áudio (PROMPT_MODE=native); os outros modelos recebem o áudio mais um prompt de texto fixo. O portão lê um estado oculto dependente do prompt, então um adaptador é válido apenas sob o modo de prompt com o qual foi treinado.
  • Limiar (scripts/calibrate_threshold.py). Os ids do XSTest são ordenados e divididos alternadamente em uma metade de validação e uma metade de teste. O limiar é a menor pontuação de portão cuja sobre-recusa adicionada na metade de validação é de no máximo 10%, contada em prompts que o modelo não defendido respondeu.
  • Malha fechada. A probabilidade de recusa soma a probabilidade do próximo token de aberturas de recusa na última camada. Execuções in-domain usam a lista de aberturas multilíngue (REFUSAL_PHRASE_SET=multi, definida por run_aegis.sh), então recusas em outros idiomas contam.
  • Métricas (scripts/summarize.py): taxa de insegurança é a proporção de linhas avaliadas que o Llama-Guard-3-8B rotula como unsafe; sobre-recusa é a proporção de respostas do XSTest que correspondem a aegis/refusal.py, relatada sobre todos os 250 prompts e sobre a metade de teste; AUROC do portão usa pontuações brutas do portão com ataques como positivos e XSTest como negativos.

Ablações

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

Testes

root@kitploit:~
python -m unittest discover tests

Citação

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}
}

Licença

O código é liberado sob a Licença MIT. Os modelos base (por exemplo, Gemma 4, Llama 3.1 no Ultravox, Llama-Guard-3-8B) e os benchmarks mantêm suas próprias licenças e termos de uso.

Baixar ferramenta