第 10 章 — 設計安全的 LLM 架構
《LLM Primer VII:AI 安全》章節走讀的第十篇。這一章把架構視為主要的資安學科 — 因為一個機率元件最安全的組態,是那個爆炸半徑被結構所限制的組態,而不是那個仰賴元件自身克制的組態。
這一章為什麼存在
第一到第三部命名了威脅,以及模型端的防禦。第 10 章走圍繞模型的架構 — 那些給系統結構性屬性的隔離邊界、驗證層、政策引擎、API 契約與零信任原則。前提沒變,還是自早期資安工程以來的那條:預設被入侵、限制傷害、讓入侵可讀。新的地方是:要限制的元件,是一個由自然語言驅動的編排器,而它的指令可以透過任何輸入通道抵達。架構樣式從更早的時代轉移過來;它們如何具體套用到 LLM,就是這一章要做的工作。
10.1 隔離限制爆炸半徑
隔離邊界是一道刻意的縫,一側的元件不能不透過受控介面就直接影響另一側的元件。隔離的資安理由是:入侵所致的傷害由被入侵元件透過其合法介面所能觸及的範圍所限。對 LLM 系統來說,最重要的隔離問題在模型與其他系統能存取之一切之間。一個跑在具備不受限檔案系統存取、不受限網路存取、以及一個沒有 allow-list 之 shell 執行工具之行程裡的模型,其爆炸半徑很大。一個行程跑在具有定義好的 syscall 集合之沙箱裡、其網路存取透過帶有網域級 allow-list 的出口代理、其工具透過周圍程式碼依請求發出的能力 token 呼叫的模型,其爆炸半徑小得多。這個樣式延伸到程式碼執行 — OpenAI 與 Anthropic 為其 code interpreter 環境所用的 sandbox 工具,在短命的 gVisor 或 Firecracker 虛擬機裡跑生成的程式碼 — 也延伸到瀏覽,無頭瀏覽器跑在隔離的網路 namespace 裡,無法存取內部端點。隔離是在任何特定攻擊發生之前就做出的設計決策,而它是此領域所提供的每單位爆炸半徑縮減最便宜的資安投資。
10.2 驗證是分層的,政策是宣告式的
單一驗證點就是單點故障。生產 LLM 端點在客戶端請求與回應之間,通常組合了五層。認證驗證主體的憑證。請求驗證對照 API 的 schema 檢查請求 — 型別、範圍、長度、字元集。政策評估詢問:已認證的主體、已驗證的請求、與當前系統狀態,是否允許此動作。模型呼叫使用系統 prompt、已驗證的使用者輸入、政策所允許之工具清單,以及輸出約束來跑。輸出過濾在送出前檢查回應是否含有不應回傳的內容 — 洩漏的秘密、被禁的內容、不安全的工具呼叫。政策邏輯會隨時間成長,如果散落在應用程式碼各處,會變成一堆難以檢視、測試、演進的條件式的聯集。這個領域已經收攏到:把政策與程式碼分開。Open Policy Agent(OPA)是一個 CNCF 專案,評估用 Rego 寫的政策。AWS Cedar 於 2023 年釋出,是一個較聚焦、具備形式驗證屬性的授權語言。兩者都是可上生產的;選擇通常是組織對齊的問題。政策變成有版本、可審閱的檔案,而系統實際上的資安政策總是可以在同一個地方讀到。
10.3 套用到模型呼叫的零信任
API 是 LLM 系統與其呼叫者之間的契約。安全 API 設計就是塑形契約、讓其不變量能撐得過與對抗性呼叫者接觸的紀律。明確的輸入 schema — 嚴格型別、範圍、allow-list 列舉 — 成本很低,卻限制了 API 對呼叫者的隱含信任。不洩漏內部狀態的結構化錯誤回應,可以避免措辭含糊的錯誤所啟用的情報蒐集。冪等鍵、request ID 與版本,給系統在不需要額外狀態的情況下,對呼叫者行為的可觀測性。零信任模型 — 由 Google 2014 年 BeyondCorp 論文闡述、由 NIST SP 800-207 於 2020 年形式化 — 延伸了這個原則:沒有呼叫者因為網路位置就被信任。每個請求都會認證、對照明確政策被授權、依裝置與脈絡被評估、被記錄。套用到 LLM 系統,模型呼叫本身變成一個主體 — 模型對下游工具的請求,認證為模型、承載模型代其操作之人的身分、對照那個知道兩種身分的政策做授權。範圍窄、TTL 短的能力 token,是讓這件事能組合起來的關鍵。結果是:被入侵的 prompt 無法升級成完整系統入侵,因為模型自身的能力被周圍程式碼為特定請求發出的 token 所限制。
第 10 章鋪陳出來的東西
沒有可觀測性的結構,會無聲地失敗。第 11 章檢視把架構防禦轉成能被運行之系統的可觀測性層 — 當 LLM 在迴圈中時要記錄什麼、如何組織遙測以從同一份紀錄同時支援即時告警、事後調查、容量規劃、合規、以及持續評估。OpenTelemetry GenAI 語意慣例在 2024 年開始標準化 LLM 專屬的 span 與屬性,提供了廠商中立的基礎。具體實作 — Langfuse、Helicone、Arize Phoenix、Datadog LLM Observability — 坐落其上,各有不同取捨。第 12 章接著處理身分與存取維度 — OAuth、mTLS、RBAC 對比 ABAC、多租戶隔離、速率限制,以及讓系統能在受監管環境中被使用的企業治理控制。
下一篇 — 第 11 章:可觀測性、日誌與事件回應。用 OpenTelemetry GenAI 慣例記錄什麼、如何偵測濫用模式,以及如何為一個故障是機率的系統跑一份 NIST 形狀的事件回應。