🎯 什麼情境該想到我
當 LLM 功能要接觸到你無法控制的輸入——外部使用者、爬來的網頁、RAG 檢索到的文件——上線前需要盤點攻擊面的時候。
⚙️ 怎麼用(步驟 / 公式)
-
盤點提示注入的四種形態:
- 直接注入:使用者在輸入裡直接下指令覆蓋系統提示
- 間接注入:惡意指令藏在被檢索或被讀入的文件裡(RAG 情境最危險,因為輸入不是使用者打的)
- 分隔符攻擊:偽造分隔記號讓模型誤判哪裡是指令、哪裡是資料
- 角色混淆:誘導模型切換身分或人格,繞過原本的約束
-
盤點外洩向量:
向量 洩漏什麼 系統提示外洩 你的 prompt 設計與內部規則 訓練資料萃取 訓練語料裡的敏感內容 上下文外洩 同一對話中其他來源的資料 設定曝光 模型參數、工具清單、後端結構 -
區分越獄與注入:越獄針對的是安全護欄(誘導產生有害內容),提示注入針對的是指令優先權(讓模型聽攻擊者而不是你)。防法不同,不要混為一談。
-
別忘了訓練期攻擊:資料下毒與後門,是在模型還沒上線前就被埋進去的。
-
用縱深防禦,不要押單一措施:輸入驗證與淨化 → 系統提示加固 → 輸出過濾 → 上線前對抗性測試(red teaming)→ 上線後監控異常模式。
🧪 我實際套用的紀錄
- 2026-08-01:從 LLM Course 收錄,尚未實際套用。
⚠️ 注意 / 什麼時候不適用
- 沒有任何單一防護能擋下所有注入,把安全押在「我的系統提示寫得很嚴」上是最常見的誤判。
- 純內部、輸入完全可控的場景,做到基本輸出檢查即可,不必上全套。
- 過度過濾會犧牲可用性,防護強度要對應實際暴露面。
🔗 相關工具
- 工具-RAG檢索增強生成 —— 高風險交會點,檢索進來的文件正是間接注入的主要載體
- 工具-AI-Agent設計 —— 風險放大器,Agent 能呼叫工具,注入成功的後果從「說錯話」變成「做錯事」
- 工具-偏好對齊方法選擇 —— 目標重疊,降低有害輸出是訓練期的防線,這裡是執行期的防線