大型語言模型信任邊界
中級2 分鐘閱讀更新於 2026-03-20
理解大型語言模型應用中的信任邊界:資料於何處跨越權限層級,以及原生信任強制的缺乏如何建立攻擊面。
概覽
信任邊界是系統中信任層級變化之處——資料從「不信任」跨越至「部分信任」再至「信任」。傳統軟體應用透過明確機制(權限檢查、輸入驗證)於邊界強制信任規則。LLM 應用缺乏此類原生機制——模型透過相同注意力機制處理所有符元,無視其於信任階層的位置。此差異是 AI 安全的根本挑戰。
核心概念
信任邊界於傳統系統
- 網路邊界:防火牆、VPN
- 應用邊界:驗證、授權
- 資料邊界:輸入驗證、SQL 參數化
- OS 邊界:權限、使用者分離
每邊界有明確強制點,系統於其中可檢查「這資料/操作是否符合此信任層級?」
信任邊界於 LLM 應用
LLM 應用有類似邊界:
- 使用者輸入 → 系統(不信任 → 部分信任)
- 系統提示詞 → 模型(信任 → 信任)
- 外部資料(RAG) → 模型(不信任 → 模型視為可能信任)
- 工具輸出 → 模型(依工具 → 依情境)
- 模型輸出 → 下游系統(依模型 → 依情境)
關鍵差異:於傳統系統,跨越邊界觸發檢查;於 LLM 中,所有資料合併為單一符元序列,於同一注意力機制中處理——無架構分離。
主要信任邊界漏洞
系統提示詞 vs. 使用者輸入
系統提示詞應於使用者輸入之上擁有權威,但兩者都是模型上下文中的符元。沒有密碼學機制驗證「這符元源自系統」vs.「這符元源自使用者」。攻擊者透過格式模仿可冒用系統層級指令。
RAG 文件 vs. 使用者輸入
RAG 文件應被視為「資料」(不是指令),但模型處理它們與處理使用者訊息相同。若文件含指令,它們可能被遵循——這是 間接注入 的根本。
工具輸出信任
工具回傳值常被模型視為「可信資料」,但工具輸出可能含惡意內容(例如被投毒的 API 回應、被駭的文件)。
多代理信任
於多代理系統中,代理間訊息常被接收代理視為可信上下文。惡意代理(或被入侵代理)可於其輸出中嵌入指令影響下游代理。
無原生強制的後果
- 提示詞注入本質上可能:系統與使用者指令混合
- 間接注入放大:任何來源的資料可攜帶指令
- 代理混淆代理問題:代理不信任工具輸出的真實性
- 跨信任層級洩漏:未授權資料可流入輸出
防禦信任邊界
由於無原生強制,防禦必須於應用層實作:
輸入淨化
- 剝除系統級格式標記於使用者輸入
- 規範化 Unicode 於過濾前
- 驗證結構化輸入的格式
架構隔離
- 雙 LLM 架構:一個 LLM 處理不信任內容並產出結構化摘要;另一個 LLM 處理該摘要作為信任輸入
- 工具權限分層:敏感工具需使用者確認,即使由模型請求
- 工作階段隔離:不於工作階段間共享上下文
明確標記
- 於遞送給模型的內容加上來源標籤(系統 / 使用者 / 工具 / RAG)
- 訓練模型於不同來源給予不同權重
- 使用 XML 標籤或類似結構顯式標記邊界
輸出驗證
- 檢查模型輸出含敏感資訊洩漏
- 驗證工具呼叫參數於執行前
- 對高風險操作要求人類介入
威脅建模意涵
辨識信任邊界是威脅建模的關鍵:
- 列舉所有進入點與資料來源
- 標記每個的信任層級
- 追蹤資料跨邊界流動
- 辨識邊界缺乏強制之處
- 設計緩解於每邊界
紅隊演練意涵
紅隊員應:
- 辨識目標中的所有信任邊界
- 對每邊界測試——如何跨越它、混淆它、冒用它
- 評估每邊界防禦的強度
- 驗證對「深層」攻擊(跨多邊界)的韌性
相關主題
參考文獻
- Greshake et al. (2023). "Not What You've Signed Up For"
- Willison, S. (2023). "Dual LLM pattern"
- MITRE ATLAS —— AI 系統的對抗威脅版圖
Knowledge Check
為何 LLM 中的信任邊界根本上不同於傳統系統?