文字生成影像模型的對抗性攻擊
理解並評估文字生成影像擴散模型的對抗性攻擊,包括提示詞操控以繞過安全過濾、概念消除攻擊、引導機制擾動,以及訓練資料成員推論。
概述
文字生成影像模型——Stable Diffusion、DALL-E、Midjourney、Imagen——已成為強大的創意工具,能從自然語言描述生成逼真圖像。它們的廣泛部署也創造了重大的攻擊面。與語言模型主要關注有害文字生成不同,文字生成影像模型可以生成有害的視覺內容:深度偽造、非自願親密圖像、暴力場景、版權複製,以及違反平台安全政策的內容。
模型開發者部署了多個安全層次以防止有害生成:過濾不安全輸入的文字提示詞分類器、過濾不安全輸出的 NSFW 圖像分類器、從模型權重中移除特定知識的概念消除技術,以及引導生成遠離有害概念的負面提示詞注入。每種防禦都已被研究人員系統性地攻破,揭示出與文字 LLM 安全社群在提示詞注入和越獄方面所經歷的類似貓鼠遊戲動態。
本文審視針對文字生成影像模型的四種主要攻擊類別:操控文字輸入以繞過安全分類器的提示詞層面攻擊、擾動生成過程本身的潛在空間攻擊、修改模型權重以移除或改變特定概念的概念消除攻擊,以及利用生成管線的推論時攻擊。
攻擊面分析
文字生成影像生成管線
標準文字生成影像擴散管線包含多個組件,每個都呈現攻擊機會:
文字提示詞 → 文字編碼器(CLIP)→ 交叉注意力 → 去噪 U-Net → VAE 解碼器 → 輸出圖像
↑ ↑ ↑ ↑ ↑ ↑
安全分類器 嵌入操控 引導機制 噪聲排程 解碼 NSFW
繞過攻擊 攻擊 攻擊 攻擊 攻擊 分類器
繞過
| 管線階段 | 攻擊類別 | 風險等級 |
|---|---|---|
| 文字輸入 | 提示詞操控(同義詞、編碼、多語言) | 高 |
| 文字編碼器 | 對抗性嵌入擾動 | 中 |
| 交叉注意力 | 引導比例操控、負面提示詞利用 | 高 |
| 去噪 | 噪聲排程攻擊、潛在空間擾動 | 低 |
| VAE 解碼器 | 解碼器層面攻擊(罕見,需要模型存取) | 低 |
| 輸出過濾器 | NSFW 分類器逃避 | 高 |
T2IAttack 資料類別追蹤每個攻擊的屬性:attack_id、name、stage(管線階段)、access_required(黑盒/灰盒/白盒)、description、technique、effectiveness 和 detection_difficulty。
攻擊類別一:提示詞層面操控
提示詞操控攻擊透過以規避關鍵字匹配、語義分類器和內容政策執行的方式重新表述有害提示詞,來繞過基於文字的安全分類器。這些攻擊只需要黑盒 API 存取,是最易達到的攻擊類別。
PromptManipulator 類別提供六種技術:
synonym_substitution(同義詞替換):將被安全標記的詞彙替換為傳達相同含義但能規避關鍵字過濾器的同義詞或委婉語。這是最簡單的攻擊技術,也是野外最常被觀察到的。依賴關鍵字匹配的安全分類器特別易受攻擊。
multi_language_encoding(多語言編碼):將安全相關術語翻譯成其他語言。許多安全分類器以英語為中心,以英語表達時會觸發過濾器的術語,用德語、法語、日語或其他語言表達時可能通過——但 CLIP 的多語言理解仍然能正確引導生成。
compositional_decomposition(組合分解):將有害概念分解為個別上無害的子提示詞,這些子提示詞組合起來產生有害輸出。文字生成影像模型透過交叉注意力組合概念,安全分類器整體評估提示詞,但模型可能將個別安全的概念組合成不安全的圖像。
artist_style_bypass(藝術風格繞過):將提示詞嵌入在可能受到較不嚴格內容審查的藝術背景中。某些安全系統對引用藝術風格、歷史藝術或教育背景的提示詞應用不同的閾值。
homoglyph_evasion(同形字逃避):將 ASCII 字元替換為視覺上相似的 Unicode 字元(如西里爾字母),以規避基於文字的安全分類器,同時保留 CLIP 分詞器的含義。效果因模型而異——某些分詞器會標準化 Unicode,使此攻擊無效。
token_boundary_exploitation(符元邊界利用):在位置處插入零寬字元或不尋常的空白,破壞分詞器對標記詞彙的識別,同時保留視覺外觀。
PromptAttackEvaluator 類別的 evaluate_attack_suite 方法對一組基礎提示詞執行所有操控技術,並評估哪些技術繞過了安全分類器。它首先驗證基礎提示詞是否被過濾,然後對每種技術報告是否實現了繞過。
攻擊類別二:安全分類器逃避
文字生成影像模型通常採用兩個安全分類器:生成前過濾不安全提示詞的文字分類器,以及過濾不安全輸出的生成後圖像分類器(通常是微調的 NSFW 偵測器)。兩種分類器都易受對抗性逃避攻擊。
OutputClassifierAttacks 類別提供三種方法:
guidance_scale_manipulation(引導比例操控):探索引導比例值,找到生成圖像匹配提示詞意圖但安全分類器分數低於閾值的甜蜜點。低引導比例(1-3)產生多樣但不嚴格遵循提示詞的圖像,更可能通過安全過濾器;高引導比例(15+)嚴格遵循提示詞,更可能觸發過濾器。
negative_prompt_suppression(負面提示詞抑制):製作在生成圖像中抑制安全相關特徵同時保留整體構圖的負面提示詞。安全分類器主要在逼真圖像上訓練,透過使用負面提示詞將生成轉向風格化、抽象或藝術渲染,生成的圖像可能傳達相同概念但安全分數低於閾值。
seed_search_attack(種子搜索攻擊):使用許多不同的隨機種子生成圖像,選擇那些繞過安全分類器的。擴散模型對不同隨機種子產生不同輸出,某些種子產生語義相似但有規避安全分類器視覺特徵的圖像。這是一種暴力破解方法,預計 5-20% 的種子會繞過調優良好的分類器。
攻擊類別三:概念消除與模型編輯
概念消除技術修改模型權重以移除特定概念(例如生成特定公眾人物或 NSFW 內容的能力)。雖然設計為安全措施,但這些技術本身也是攻擊面——能存取模型權重的攻擊者可以移除安全相關概念或注入新的有害能力。
三種主要概念消除技術的評估:
Erased Stable Diffusion (ESD):消除效果 0.85,附帶損壞 0.15,恢復難度中等。已知的繞過方法包括使用組合子概念進行間接描述、用小資料集微調以恢復消除的概念、映射到相同 CLIP 嵌入區域的跨語言提示詞,以及尋找消除概念嵌入空間鄰域的對抗性提示詞優化。
Forget-Me-Not(選擇性失憶):消除效果 0.80,附帶損壞 0.20,恢復難度低。已知繞過:詳細物理描述的提示詞工程、使用 LoRA 從少量圖像重新學習特定身份、使用文字反轉為消除的概念找到新嵌入。
Unified Concept Editing (UCE):消除效果 0.75,附帶損壞 0.10,恢復難度中等。已知繞過:在修改概念附近搜索對抗性嵌入、使用修改概念作為負面提示詞以揭示更改了什麼。
evaluate_concept_erasure_robustness 函式評估模型上概念消除的穩健性:生成使用直接提示詞的圖像(應失敗)、計算 CLIP 相似度分數、生成使用繞過提示詞的圖像,並比較直接與繞過的概念存在分數。
攻擊類別四:成員推論與訓練資料萃取
成員推論攻擊確定特定圖像是否用於模型的訓練資料。訓練資料萃取攻擊嘗試從模型重建訓練圖像。兩者都有隱私影響,特別是對在包含個人照片或版權圖像的資料上訓練的模型。
基於損失的成員推論(loss_based_membership_inference):核心洞察是訓練資料中的圖像平均去噪損失低於非訓練資料中的圖像,因為模型在一定程度上「記憶」了它們。方法:在多個時間步對測試圖像添加噪聲,要求模型預測噪聲,計算損失,然後與已知非成員圖像的參考分佈比較。此方法需要白盒存取模型。
基於生成的萃取(generation_based_extraction):擴散模型有時在使用接近訓練資料說明的描述提示時,會幾乎完全複製訓練圖像。方法:生成大量圖像,計算 CLIP 圖像嵌入,按視覺相似度聚類,識別異常高相似度的聚類(潛在記憶化),標記相似度超過閾值的圖像。記憶化指標包括:無論種子如何,多次生成都收斂到幾乎相同的圖像;生成圖像在像素層面與已知圖像匹配;文字圖像對齊可疑地高。隱私影響包括可提取的記憶化個人照片、可從描述性提示詞複製的版權圖像,以及可能違反隱私規定的訓練資料中的醫療圖像。
建立穩健性評估框架
T2IRobustnessReport 資料類別包含以下指標:提示詞攻擊繞過率、分類器逃避率、概念消除效果、記憶化風險分數,以及加權綜合評分。
compute_overall_robustness 函式計算整體穩健性分數,加權權重為:提示詞防禦 0.30、分類器防禦 0.30、消除防禦 0.20、記憶化防禦 0.20。若提示詞繞過率 > 30%,建議改用基於語義嵌入的分類而非關鍵字匹配;若分類器逃避率 > 20%,建議升級到集成分類器或對抗性訓練的偵測器;若記憶化風險 > 10%,建議去重訓練資料並考慮在未來訓練中引入差異隱私。
防禦建議
-
在管線中分層防禦。 沒有單一防禦點是足夠的。結合提示詞分類器、生成時引導約束和輸出分類器進行縱深防禦。
-
使用嵌入空間分類器,而非關鍵字列表。 提示詞操控攻擊能輕易繞過基於關鍵字的過濾器。在 CLIP 嵌入上操作的語義分類器對同義詞替換和編碼攻擊更穩健。
-
對抗性訓練安全分類器。 在乾淨資料上訓練的輸出 NSFW 分類器易受對抗性擾動。在分類器訓練集中包含對抗性樣本。
-
速率限制和監控。 種子搜索攻擊需要生成許多圖像。速率限制和監控異常高的生成量可以偵測和緩解暴力破解逃避嘗試。
-
將概念消除與輸出過濾結合。 單獨的概念消除是可繞過的。將其作為多層防禦的一層,以輸出過濾作為後備。
參考資料
- Rando, J., et al. "Red-Teaming the Stable Diffusion Safety Filter." NeurIPS 2022 Workshop on ML Safety, https://arxiv.org/abs/2210.04610
- Schramowski, P., et al. "Safe Latent Diffusion: Mitigating Inappropriate Degeneration in Diffusion Models." CVPR 2023, https://arxiv.org/abs/2211.05105
- Gandikota, R., et al. "Erasing Concepts from Diffusion Models." ICCV 2023, https://arxiv.org/abs/2303.07345
- Carlini, N., et al. "Extracting Training Data from Diffusion Models." USENIX Security 2023, https://arxiv.org/abs/2301.13188
為什麼基於關鍵字的提示詞安全分類器特別容易受到提示詞操控攻擊?
種子搜索攻擊如何繞過輸出安全分類器?