為什麼會發生Jailbreak?
造成Jailbreak攻擊成功的原因主要有兩個:
- 模型在訓練階段沒有接觸足夠的惡意樣本,導致不懂得分辨能答與不能答的邊界。
- 模型雖然知道規範,但在複雜情境下仍會被語意誤導(例如假設情境、角色扮演)。
這就好比學生背熟了安全守則,卻被朋友用話術引導而不小心說出答案。
因此我們需要針對模型進行防禦訓練,讓它懂得何時該拒答。
常見的Jailbreak技巧
-
Text Augmentation(文字擾動):利用各種語言變形手法來繞過關鍵字偵測,例如:
Word Scrambling(打亂字母順序)、Random Capitals(隨機大小寫)、Character Noising(插入特殊符號),這些技巧讓模型誤以為問題是無害的,從而放行生成。
-
Best-of-N Jailbreak,又稱ASR(Attack Success Rate)測試:攻擊者會反覆嘗試多種提示語(Prompts),直到模型出現一次錯誤回答為止,以此衡量模型的防禦強度。
提升模型防禦能力的方法
- 多層防禦策略(Layered Defense)
將安全檢查與生成任務分開,先用一個安全模型判斷輸入是否有風險,再決定是否傳給主模型處理。
- 安全微調(Safety Fine-tuning)
蒐集大量惡意提示語(如Jailbreak攻擊樣本)進行微調,讓模型學會拒答危險內容,並提供合適回覆。
- 防禦型Prompt(Defense Prompt Engineering)
在系統指令中明確設定模型的倫理守則,例如:當使用者要求違法、危險或侵害他人權益的內容時,請拒絕回答並提供安全建議。
- 黑箱測試與紅隊攻擊(Red Teaming)
定期由專家或安全團隊進行模擬攻擊,觀察模型在極端或混淆語境下的表現,並持續改進安全策略。