認知負荷注入
透過壓垮安全推理的認知負荷攻擊利用模型容量。
概覽
認知負荷注入透過壓垮安全推理的認知負荷攻擊,利用模型容量。
本主題代表 AI 安全中的關鍵領域,已受大量研究與真實世界利用關注。理解此處涵蓋的概念、技術與防禦措施,對任何從事 AI 安全工作的人(不論攻擊或防禦角色)皆屬必要。
Zou et al. 2023 —— "Universal and Transferable Adversarial Attacks on Aligned Language Models" 為本文所探討的漏洞類別提供了基礎背景。
核心概念
認知負荷注入的核心機制利用語言模型處理能力的限制。當模型同時需要處理大量複雜指令、維持對話脈絡、執行安全推理並產生一致回應時,它的「認知頻寬」會被瓜分。攻擊者透過刻意打造高認知負荷的輸入,可降低分配給安全推理的運算資源,使模型的安全檢查變得薄弱。
根本原則
Transformer 模型的注意力機制有計算上限。當上下文視窗接近其容量、或輸入本身複雜到需要深度多步推理時,模型會犧牲某些處理面向——常見的是安全相關的推理,因為這些是學得的行為而非架構硬要求。認知負荷攻擊故意製造這種「頻寬稀缺」條件,使安全行為在模型試圖處理主任務時被擠出。
研究顯示安全訓練建立的是薄薄的行為表層,而非模型能力的根本改變。底層知識與能力仍可取得——安全訓練只是使某些輸出在一般條件下較不可能。對抗性技術透過建立「安全訓練影響相對於其他競爭目標被降低」的條件來奏效。認知負荷注入是此一般原則的明確實作。
技術深入探討
從技術層級理解認知負荷注入,需檢視:
- 注意力分配:當上下文冗長時,模型的注意力在多個符元間稀釋。安全相關符元(如系統提示詞中的拒答指示)可能在稀釋後失去足夠權重
- 推理預算:推理模型於輸出前分配有限的思考步數。過於複雜的輸入耗盡此預算,使安全檢查被捨棄
- 工作記憶容量:模型維持多個平行線索的能力有限;超過該容量時會丟棄較不突出的指令
攻擊面分析
認知負荷注入可於多個進入點發動:
| 攻擊向量 | 說明 | 複雜度 | 影響 | 可偵測性 |
|---|---|---|---|---|
| 多任務壓垮 | 同時要求模型執行大量複雜任務 | 低 | 中等 | 中等 |
| 上下文填塞 | 以相關但冗長的內容填塞上下文視窗 | 低 | 高 | 低 |
| 複雜推理鏈 | 要求模型執行深度巢狀推理 | 中等 | 高 | 低 |
| 平行指令衝突 | 給予模型必須同時遵循的衝突指令集 | 中等 | 高 | 中等 |
| 時間壓力模擬 | 以輸入暗示需要「快速」回應以繞過深度推理 | 低 | 中等 | 中等 |
實務技術
多任務堆疊
最簡單的認知負荷攻擊同時給模型多項任務。例如要求模型「總結下列 10 份文件、翻譯為 5 種語言、寫出每份的程式碼範例,並回答使用者的問題」——在龐大的任務堆中埋入違反安全政策的請求。
上下文填塞
以大量相關但冗長的內容填滿上下文視窗。例如先貼入 50 份類似文件,然後在末尾嵌入惡意指令。模型的注意力在大量前置內容上稀釋後,系統提示詞的安全指令可能失去足夠注意力權重。
深度巢狀推理
要求模型執行需多步推理的任務,例如「先分析 A、然後基於 A 的結論評估 B、再用 B 的結果推論 C、最後依 C 決定是否執行 D」。當安全檢查必須發生於步驟 D 時,模型可能已消耗大量推理預算於前三步,使安全推理被壓縮或省略。
平行指令衝突
給模型多個彼此衝突的指令,強迫它在其中選擇。例如同時要求「遵循系統提示詞」與「優先回應使用者最新請求」。此種張力會消耗模型的「指令仲裁」頻寬,若攻擊者將惡意請求放入「使用者最新請求」通道,它可能勝出。
防禦考量
防禦認知負荷注入需要多層方法:
輸入層防禦
- 複雜度限制:對輸入長度、任務數量與巢狀深度施加上限
- 任務去纏結:將多任務請求拆解為個別呼叫,每次僅執行一項
- 上下文摘要:若上下文接近容量上限,先摘要早期內容再繼續
- 安全斷言重複:在長上下文關鍵位置重新插入安全指令,防止注意力稀釋
架構防護
- 專用安全分類器:於主模型處理外,使用獨立的小型模型對輸入進行安全評估,該模型的唯一任務是安全判斷,不受主任務認知負荷影響
- 分階段處理:將複雜請求拆為多個階段,每階段獨立套用安全檢查
- 推理預算上限:限制單次推理可消耗的步數,並強制安全檢查於結尾必須執行
測試方法論
對認知負荷注入漏洞的系統化測試方法:
| 階段 | 活動 | 工具 | 交付物 |
|---|---|---|---|
| 偵察 | 系統列舉、API 對應、行為剖析 | Garak、Promptfoo | 目標輪廓 |
| 假設 | 辨識潛在漏洞類別 | MITRE ATLAS | 測試計畫 |
| 執行 | 執行測試案例、記錄結果 | PyRIT、HarmBench | 測試結果 |
| 分析 | 將發現分類、評估嚴重度 | CVSS 框架 | 發現資料庫 |
| 報告 | 撰寫可行動報告 | 報告樣板 | 最終報告 |
自動化測試
自動化測試工具顯著提升覆蓋並實現持續評估。Garak、PyRIT 與 Promptfoo 等工具提供系統化漏洞掃描框架,可整合至 CI/CD 管線以進行持續安全驗證。
設定自動化測試時,需於廣度(測試許多攻擊向量)與深度(徹底探索有前景的向量)之間取得平衡。
真實世界範例
上下文視窗稀釋攻擊(2024)。 研究人員示範對長上下文模型可透過於開頭填塞大量無關內容,使末尾的惡意指令繞過系統提示詞安全檢查。
多任務越獄(2024)。 將惡意請求嵌入大量合法任務清單中,使模型把惡意項視為清單中的其中一項一併執行。
進階主題
跨架構轉移
於一個模型有效的認知負荷技術常轉移至其他模型,因為底層的注意力機制限制是架構級共享的。
新興攻擊向量
推理模型(具明顯思考鏈)對「推理預算耗盡」類攻擊特別易受攻擊。透過在推理期間插入大量誤導性中間結論,可引導模型在預算耗盡時做出不安全的最終決策。
營運考量
案件範圍界定
聚焦於認知負荷注入的案件範圍需考量:模型的上下文視窗大小、是否允許多輪對話累積、工具執行是否計入認知預算。
時間分配:約 20% 偵察、50% 主動測試、15% 分析、15% 報告。
文件化與報告
每項發現必須記錄:所測試模型的確切版本、輸入總長度、任務數量、觀察到的回應。符合部署情境的嚴重度評級建立與利害關係人的信用。
參考文獻
- Zou et al. 2023 ——「Universal and Transferable Adversarial Attacks on Aligned Language Models」
- Perez & Ribeiro 2022 ——「Ignore This Title and HackAPrompt」
- Greenblatt et al. 2024 ——「Alignment Faking in Large Language Models」
- MITRE ATLAS ——AI 系統的對抗威脅版圖
下列何者最能描述認知負荷注入相關的主要風險?
對抗認知負荷注入最有效的防禦策略為何?