為了防止在處理來自不可信來源的資料時遭受提示詞注入攻擊,谷歌 DeepMind 的研究人員提出了 CaMeL,一種圍繞 LLM 的防禦層,透過從查詢中提取控制流和資料流來阻止惡意輸入。根據他們的實驗結果,CaMeL 能夠在 AgentDojo 安全基準測試中抵禦 67% 的攻擊。
眾所周知,攻擊者可以將惡意資料或指令注入到 LLM 的上下文中,目的是竊取資料或誘導模型以有害的方式執行操作。例如,攻擊者可能會嘗試獲取聊天機器人的系統提示詞,以便獲取控制權或竊取敏感資訊,例如訪問私有 Slack 頻道中的資料。更令人擔憂的是,當 LLM 能夠訪問具有現實世界影響的工具時,比如傳送電子郵件或下單,這種情況的風險就更大了。
即使 LLM 採取了特定策略來防禦提示詞注入攻擊,攻擊者仍會設法繞過這些防護措施。一個近期的例子是 AI 安全專家 Johann Rehberger 展示的一種類似網路釣魚的攻擊,成功繞過了 Gemini 對延遲工具執行的保護。
CaMeL 是一項旨在解決這些風險的新提案。CaMeL 不依賴更多的人工智慧來防禦人工智慧系統(例如基於人工智慧的提示詞注入檢測器),而是採用了傳統的軟體安全原則,如控制流完整性、訪問控制和資訊流控制。
CaMeL 為每個值關聯了一些元資料(在軟體安全文獻中通常被稱為能力),用於限制資料和控制流,並透過使用細粒度的安全策略來表達可以和不可以對每個獨立值進行哪些操作。
CaMeL 使用自定義的 Python 直譯器來跟蹤資料和指令的來源,強制執行基於能力的安全性保障,無需對 LLM 本身進行任何修改。它借鑑了 Simon Willison(他首次提出了“提示詞注入”一詞)所描述的雙 LLM 模式,並以巧妙的方式對其進行了擴充套件。
Willison 最初的提議包含了一個擁有特權的 LLM,它直接處理使用者的提示詞,以及一個被隔離的 LLM,它接觸的是不可信的資料,並且無法使用任何工具。擁有特權的 LLM 管理工作流程,並可能要求被隔離的 LLM 從不受信任的資料中提取特定資訊,例如電子郵件地址。這確保了特權 LLM 永遠不會直接接觸到不受信任的內容,只處理隔離模型返回的、經過過濾的結果。
谷歌研究人員表示,這種方案的缺陷在於,攻擊者仍然可以操縱被隔離的 LLM 生成誤導性的輸出,例如未經授權訪問敏感資訊的收件人的電子郵件地址。
在他們的新方案中,特權 LLM 會生成一個使用受限的 Python 子集編寫的程式,這個程式負責執行所有必要的步驟。當這個程式從被隔離的 LLM 或其他工具接收資料時,它會構建一個數據流圖,跟蹤每個資料元素的來源、訪問許可權和相關元資料。隨後,這些元資料被用來確保對資料的任何操作都符合特權限制。

正如 Willison 在回應 CaMeL 提議時所強調的,這種方法的重要性在於不依賴更多的人工智慧來解決人工智慧問題:
人工智慧技術使用的是機率:你可以用一系列以前的提示詞注入示例來訓練模型,並在檢測新的示例時獲得 99% 的分數……但這毫無用處,因為在應用安全中,99% 是一個不及格的分數。
為了測試 CaMeL 的有效性,DeepMind 的研究人員將其整合到 AgentDojo 中,一個自主智慧體安全基準測試,涵蓋了現實世界的一系列實用性和安全性任務。
DeepMind 的研究人員承認,CaMeL 並不是 LLM 安全的完美解決方案,最大的侷限在於在於依賴使用者定義的安全策略。此外,由於 CaMeL 可能需要使用者手動審批涉及隱私的任務,這可能會導致使用者疲勞,做出自動化或草率的審批。
如需瞭解更多討論細節,請不要錯過原始論文。
檢視原文連結:
https://www.infoq.com/news/2025/04/deepmind-camel-promt-injection/
宣告:本文由 InfoQ 翻譯,未經許可禁止轉載。
