Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
aegis-audio-defense — 오디오-언어 모델을 동결 상태로 유지하고, 추론 시점에서 오디오 탈옥을 차단하기 위해 중간 계층 위험 게이트와 후반 계층 안전 어댑터를 추가하는 방어 프레임워크입니다. | Kitploit
도구/GitHubGitHub/azzzzliao/aegis-audio-defense
Defensive ToolsVulnerability AnalysisMachine LearningPapers & ResearchAI SecurityAdversarial Attack
GitHubazzzzliao/aegis-audio-defense

aegis-audio-defense

오디오-언어 모델을 동결 상태로 유지하고, 추론 시점에서 오디오 탈옥을 차단하기 위해 중간 계층 위험 게이트와 후반 계층 안전 어댑터를 추가하는 방어 프레임워크입니다.

저장소 보기
93일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

AEGIS: 대규모 오디오-언어 모델 탈옥에 대항하는 내부 신호 기반 오디오 내생적 가드

Yu-Ling Liao*, Tzu-Chin Chiu*, Zong-You Chen*, Chi-Lei Tsai*, Shao-Yuan Lo — 국립 타이완 대학교 (*동등 기여)

ICASSP 2027 제출 논문의 코드. AEGIS는 대상 오디오-언어 모델을 동결한 채로 유지하고, 중간 계층 위험 게이트를 추가하여 후반 계층 안전 어댑터를 조건부로 구동하며, 추론 시 폐루프 스케일링을 적용한다.

목차

페이지내용
방법위험-거부 격차, 게이트와 어댑터, 학습 손실, 폐루프.
결과논문의 표: 6개 모델, 3개 벤치마크, 절제 실험, 방어 비교.
논문 외 분석나머지 5개 모델의 위험-거부 격차, 게이트 동작, 표현, 전체 절제 표.
데이터각 데이터셋의 출처와 매니페스트 구성 방법.
모델 추가어댑터 하나를 작성하여 AEGIS를 다른 LALM으로 이식하기.

이 페이지에서: 저장소 구조 · 설정 · 데이터 · AEGIS 실행 · 프로토콜 · 절제 실험 · 테스트 · 인용

저장소 구조

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

설정

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

각 모델은 해당 모델을 로드할 수 있는 Transformers 버전이 필요하다. 업스트림 간 요구 사항이 서로 다르므로, 모델 패밀리별로 하나의 환경을 사용했다:

  • 모델은 기본적으로 Hub에서 로드된다. 오프라인으로 실행하려면 재정의 변수를 로컬 스냅샷으로 지정하라.
  • Llama-Guard-3-8B, Gemma 4, 그리고 Ultravox가 다운로드하는 Llama-3.1 백본은 Hub에서 게이트가 걸려 있다. 해당 라이선스에 동의하고 huggingface-cli login을 실행하거나, GUARD와 AEGIS_LLAMA31_PATH를 로컬 복사본으로 설정하라.
  • VITA-1.5는 자체 GitHub 코드가 필요하다: https://github.com/VITA-MLLM/VITA 를 클론하고 AEGIS_VITA_REPO를 체크아웃 위치로 설정하라 (기본값: external/VITA).
  • 하드웨어: 대부분의 모델에는 48 GB GPU 하나로 충분하다. Gemma 4 학습은 최소 약 40 GB 이상의 단일 카드가 필요하다. 262k 어휘 손실은 샤딩이 잘 되지 않기 때문이다. Voxtral Small은 48 GB 카드 두 장이 필요하다 (DEVICE=auto가 모델을 샤딩하며, 게이트와 어댑터는 자신이 후킹하는 계층을 따라간다). Qwen2-Audio와 Phi-4도 긴 AJail 클립에서는 DEVICE=auto가 도움이 된다.

데이터

data/README.md에 설명된 대로 다섯 개 데이터셋을 다운로드한 뒤, 매니페스트를 빌드하라:

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

이 스크립트는 논문에서 사용된 행 수를 검사한다: AJail 1,490, JALM 946, SACRED 1,364, XSTest 250, Benign_train 215. 또한 data/splits/의 id 목록으로부터 인도메인 테스트 분할 (718 / 499 / 683 행)을 작성한다.

AEGIS 실행

각 모델에 대해 (PY는 해당 모델 환경의 Python이며, JUDGE_PY는 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

모든 단계는 재개 가능하다; 중단 후 동일한 명령을 다시 실행하라. 출력은 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

프로토콜

  • 평가 설정. 인도메인: AEGIS는 벤치마크의 학습 분할로 학습되고, 해당 홀드아웃 테스트 분할로 평가되며, 벤치마크당 어댑터 하나를 사용한다. 분할은 50/50, 시드 42, 프롬프트 기준으로 그룹화되어 동일 요청의 변형들이 같은 쪽에 남는다; id는 data/splits/에 있다. LOBO (leave one benchmark out): AEGIS는 나머지 두 벤치마크로 학습되고, 홀드아웃 벤치마크 전체로 평가된다. 두 설정 모두에서 평가 데이터는 임계값 선택에 전혀 참여하지 않으며, XSTest는 학습에 절대 사용되지 않는다.
  • 학습 데이터 (scripts/build_trainsets.py). 양성 오디오는 Benign_train이며, 모델 자체의 무방어 답변을 타깃으로 한다. 유해해 보이지만 베이스라인에서 모델이 거부한 양성 프롬프트는 제거된다. 유해 타깃은 일반적인 거부 템플릿이다. 유해 클립 수는 양성 클립 수와 같다. 시드 42.
  • 최적화. AdamW, 학습률 2e-4, 4 에포크, 그래디언트 누적 8, LoRA 랭크 16, λ_BCE = 1.0, λ_L1 = 0.01.
  • 프롬프트. Qwen2-Audio는 오디오만 받는다 (PROMPT_MODE=native); 다른 모델들은 오디오와 하나의 고정된 텍스트 프롬프트를 받는다. 게이트는 프롬프트에 의존하는 은닉 상태를 읽으므로, 어댑터는 학습된 프롬프트 모드에서만 유효하다.
  • 임계값 (scripts/calibrate_threshold.py). XSTest id는 정렬되어 교대로 검증 절반과 테스트 절반으로 분할된다. 임계값은 검증 절반에서 추가된 과잉 거부가 최대 10% 이하인 가장 작은 게이트 점수이며, 무방어 모델이 답변한 프롬프트에서 계산된다.
  • 폐루프. 거부 확률은 마지막 계층에서 거부 시작 표현의 다음 토큰 확률을 합산한다. 인도메인 실행은 다국어 시작 표현 목록 (REFUSAL_PHRASE_SET=multi, run_aegis.sh가 설정)을 사용하므로, 비영어 거부도 계산된다.
  • 지표 (scripts/summarize.py): unsafe rate는 Llama-Guard-3-8B가 로 라벨링한 평가 행의 비율이다; over-refusal은 와 일치하는 XSTest 응답의 비율이며, 250개 프롬프트 전체와 테스트 절반에 대해 보고된다; gate AUROC는 공격을 양성으로, XSTest를 음성으로 하여 원시 게이트 점수를 사용한다.

절제 실험

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

테스트

root@kitploit:~
python -m unittest discover tests

인용

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

라이선스

코드는 MIT License로 배포된다. 기본 모델 (예: Gemma 4, Ultravox의 Llama 3.1, Llama-Guard-3-8B)과 벤치마크는 자체 라이선스와 이용 약관을 유지한다.

도구 다운로드
MODEL기본 모델Hugging Face id (재정의 변수)게이트 계층개입 계층사용된 Transformers
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
unsafe
aegis/refusal.py