Spoken Language Model을 위한 멀티모달 Jailbreak 최적화 연구
On Optimizing Multimodal Jailbreaks for Spoken Language Models
TL;DR Highlight
텍스트+오디오를 동시에 조작하면 음성 AI 모델의 안전장치를 단독 공격보다 최대 10배 더 잘 뚫을 수 있다.
Who Should Read
음성 AI 서비스(챗봇, 음성 어시스턴트)를 개발하거나 배포하는 ML 엔지니어 및 AI 보안 담당자. 멀티모달 LLM의 안전성 평가 파이프라인을 구축하려는 팀.
Core Mechanics
- JAMA(Joint Audio-text Multimodal Attack): 텍스트 suffix를 GCG(탐욕적 좌표 경사법)로, 오디오 노이즈를 PGD(투영 경사 하강법)로 동시에 최적화해서 두 모달리티를 한꺼번에 공격
- 텍스트만 or 오디오만 공격할 때보다 jailbreak 성공률이 1.5배~10배 높아짐 — 단일 모달리티 방어만으론 멀티모달 AI를 지킬 수 없다는 뜻
- Qwen2.5 Omni, Qwen2 Audio, Audio Flamingo 3, Gemma 3N 4개 모델 테스트 — Gemma 3N은 텍스트 공격엔 강했지만(3%) 멀티모달 공격에선 뚫림
- 배경 음악을 오디오 베이스로 쓸 때 공격 성공률이 가장 높음 — 사람 목소리 오디오는 모델 컴플라이언스를 방해해서 오히려 공격 효율이 떨어짐
- SAMA(순차 공격): GCG 먼저 돌리고 PGD 나중에 돌리는 방식으로 JAMA 대비 4~6배 빠르면서 유사한 공격 성공률 달성
- 학습 초기엔 텍스트(GCG) gradient가 지배적이다가 나중엔 오디오(PGD)가 주도 — 이 패턴이 순차 공격 설계의 근거
Evidence
- JAMA가 단일 모달리티 공격 대비 jailbreak rate 1.5배~10배 향상 (4개 모델, 4개 오디오 타입 실험)
- Qwen2 Audio + Music 조합에서 GCG 16토큰 + PGD 4초 설정 시 jailbreak rate 90.9% 달성 (GCG-only: 90.9%, PGD-only: 61.8%, JAMA: 91.2%로 포화 상태)
- Gemma 3N: GCG-only 3.0%, PGD-only 극히 낮음 → JAMA(Music, 긴 PGD)로는 최대 68.1% jailbreak rate
- SAMA가 JAMA 대비 평균 10% 낮은 jailbreak rate이지만 계산 시간은 4~6배 절약 (NVIDIA H100 80GB 기준)
How to Apply
- 음성 AI 서비스 출시 전 red-teaming 시: 텍스트 adversarial suffix + 오디오 perturbation 동시 공격 시나리오를 평가 파이프라인에 추가해야 텍스트-only 방어의 맹점을 발견할 수 있음
- 빠른 취약점 스캔이 필요한 경우: SAMA 방식(GCG 1000스텝 → PGD 1000스텝 순차 실행)으로 JAMA 대비 4~6배 빠르게 멀티모달 공격 효과 근사치 확인 가능
- LLaMA Guard 3 같은 output-side 필터를 이미 쓰는 팀: 멀티모달 입력 경로(오디오 인코더)에도 별도 입력 검증 레이어 추가를 고려해야 함 — 오디오 perturbation이 텍스트 필터를 우회함
Code Example
# SAMA (Sequential Approximation) 개념 구현 스케치
# Step 1: GCG로 텍스트 suffix 최적화 (오디오 없이)
import torch
def gcg_optimize(model, tokenizer, queries, target_responses, n_tokens=16, steps=1000):
"""
텍스트 suffix를 gradient 기반으로 최적화
오디오 입력 없이 순수 텍스트만 사용
"""
suffix = torch.randint(0, tokenizer.vocab_size, (n_tokens,))
best_suffix = suffix.clone()
best_loss = float('inf')
for step in range(steps):
# 각 suffix 토큰 위치의 gradient 계산
loss = compute_batch_loss(model, queries, target_responses, suffix)
if loss < best_loss:
best_loss = loss
best_suffix = suffix.clone()
# Top-K 후보 중 랜덤 교체 (GCG 핵심 로직)
suffix = gcg_step(model, queries, target_responses, suffix, top_k=16, width=32)
return best_suffix
# Step 2: 고정된 suffix에 오디오 perturbation 추가 (PGD)
def pgd_optimize(model, audio, fixed_suffix, queries, target_responses,
steps=1000, lr=0.01, eps=0.001):
"""
GCG suffix를 고정한 채 오디오 perturbation만 최적화
"""
delta = torch.zeros_like(audio).uniform_(-eps, eps)
delta.requires_grad_(True)
best_delta = delta.clone().detach()
best_loss = float('inf')
for step in range(steps):
perturbed_audio = audio + delta
loss = compute_batch_loss(
model, queries, target_responses,
suffix=fixed_suffix, audio=perturbed_audio
)
if loss.item() < best_loss:
best_loss = loss.item()
best_delta = delta.clone().detach()
# 정규화된 gradient step
grad = torch.autograd.grad(loss, delta)[0]
grad_norm = grad / (grad.norm(2) + 1e-8)
delta = delta - lr * grad_norm
# epsilon 범위로 클리핑 (perceptual similarity 유지)
delta = delta.clamp(-eps, eps).detach().requires_grad_(True)
return best_delta
# SAMA 실행
best_suffix = gcg_optimize(model, tokenizer, queries, targets, n_tokens=16)
best_delta = pgd_optimize(model, base_audio, best_suffix, queries, targets)Terminology
Related Resources
Original Abstract (Expand)
As Spoken Language Models (SLMs) integrate speech and text modalities, they inherit the safety vulnerabilities of their LLM backbone and an expanded attack surface. SLMs have been previously shown to be susceptible to jailbreaking, where adversarial prompts induce harmful responses. Yet existing attacks largely remain unimodal, optimizing either text or audio in isolation. We explore gradient-based multimodal jailbreaks by introducing JAMA (Joint Audio-text Multimodal Attack), a joint multimodal optimization framework combining Greedy Coordinate Gradient (GCG) for text and Projected Gradient Descent (PGD) for audio, to simultaneously perturb both modalities. Evaluations across four state-of-the-art SLMs and four audio types demonstrate that JAMA surpasses unimodal jailbreak rate by 1.5x to 10x. We analyze the operational dynamics of this joint attack and show that a sequential approximation method makes it 4x to 6x faster. Our findings suggest that unimodal safety is insufficient for robust SLMs. The code and data are available at https://repos.lsv.uni-saarland.de/akrishnan/multimodal-jailbreak-slm