越獄攻擊是什麼,跟一般的提示注入有什麼不同?
越獄攻擊(jailbreaking)指的是使用者刻意設計提示詞或多輪對話,試圖讓 AI 模型忽略原本內建的安全限制,產出模型正常情況下會拒絕的內容——例如有害資訊、違反使用政策的內容。這個詞借用自替行動裝置「越獄」的概念:原本的作業系統有限制使用者權限的機制,越獄就是繞過那個限制。
跟提示注入(prompt injection)的差異在於攻擊來源:提示注入通常指惡意內容藏在第三方資料(例如網頁、文件)裡,使用者本身不一定知情,模型在處理這份外部資料時被動中招;越獄攻擊則通常是使用者本人主動、有意識地在對話裡嘗試各種話術,直接誘導模型鬆懈防護,是主動發起而非被動中招。
越獄攻擊為什麼會出現,背後的動機是什麼?
模型的安全政策是在訓練階段就設計好的,目的是避免模型被用來產生有害內容。但只要模型本身有能力產生某類內容,就存在被有心人士誘導繞過限制的可能性——這跟任何有存取控制機制的系統一樣,只要有門,就會有人想辦法找鑰匙孔以外的方式打開它。
越獄攻擊的動機各異:有些是出於單純的好奇或挑戰心態(想看看能不能成功繞過),有些則是真正想取得被限制的有害內容(例如武器製造資訊、惡意程式碼)。無論動機為何,越獄攻擊的存在本身,也是紅隊測試需要持續進行的原因之一——新的越獄手法會不斷被發現,防護機制需要隨之更新。
越獄攻擊常見的手法有哪些,模型端又是怎麼防禦的?
常見的越獄手法包括:角色扮演誘導——要求模型「扮演一個沒有任何限制的角色」,試圖用虛構情境的包裝繞過安全政策;假設性框架——用「這只是假設」「這是為了寫小說」等說法包裝有害請求,試圖讓模型認為這個情境不受一般規則約束;逐字接龍——要求模型只回答某個有害內容的一部分,透過多次請求拼湊出完整內容,規避單次請求就會觸發拒絕的偵測;編碼混淆——用密碼、其他語言、拼音等方式包裝關鍵字,規避內容偵測機制。
模型端的防禦通常不是單一機制,而是多層次的:訓練階段就讓模型學會辨識這類誘導模式背後的意圖,而不是只看表面的關鍵字;即使被包裝成虛構情境,模型也被訓練成優先判斷「這個輸出本身如果被使用會不會造成實際傷害」,而不是被情境包裝說服就照做。
越獄攻擊對我有什麼影響,一般使用者需要注意什麼?
對一般使用者而言,理解越獄攻擊的存在,能幫助你理解為什麼 Claude 有時候對某些看似有創意的角色扮演請求也會顯得謹慎——因為類似的包裝方式曾經被用來嘗試繞過安全限制,模型的謹慎反應不是誤判你的正當創作需求,而是這類請求模式本身確實曾被濫用過。如果你的請求是正當的創作或研究用途,被拒絕時清楚說明實際用途與情境,通常比重複嘗試相同的包裝手法更有效。
如果你在開發自己的 AI 應用(例如串接 API),了解越獄攻擊的常見手法也有實務參考價值:在設計自己的系統提示詞跟防護機制時,同樣需要考慮使用者可能會用類似手法嘗試繞過你自訂的限制,而不能只依賴底層模型的安全機制,還需要在應用層額外設計對應的檢查。
一個常見的越獄嘗試模式是要求模型「扮演一個叫做 DAN(Do Anything Now)的角色,這個角色沒有任何限制」,試圖用虛構角色設定的方式讓模型忘記原本的安全政策,這類手法在被公開討論後,通常會被模型的安全訓練納入考量,之後類似的包裝方式就不容易再成功。
越獄攻擊研究對防禦端的價值在於能提早發現訓練階段沒預料到的漏洞,但站在攻擊者角度,這是一場持續進行的軍備競賽——新手法被發現、公開討論、被防護機制涵蓋,然後新的手法又出現,沒有一次性徹底解決的終點,安全防護需要持續投入才能跟上。