D31 系列D · 治理與信任

智能體工具調用的縱深防禦:抵禦間接提示詞注入、OAuth 令牌越權與插件供應鏈投毒

當智能體同時具備外部內容讀取能力與工具執行權限時,間接提示詞注入與代理越權將成為核心工程威脅。構建生產級防線需要結合插件簽名與許可證核驗、按智能體隔離的最小權限身份,以及由策略網關和人工複核把關的高危調用機制。

發佈日期
閲讀時長
約 7 分鐘
參考文獻
3
生物安全三級實驗室門口的個人門禁讀卡裝置
圖片: Ca.garcia.s / Wikimedia CommonsCC BY-SA 4.0來源

當只讀檢索遇上高權限令牌:工具調用的隱蔽失控現場

設想這樣一種工程情形:團隊為內部智能體接入了網頁讀取插件與辦公接口,並為了省去頻繁授權,直接把一個具備讀寫權限的共享 OAuth 令牌交給智能體使用。當員工讓智能體彙總一份來自外部的網頁或文檔時,文檔暗處嵌入了一段偽裝成指令的文本,要求智能體調用本地搜尋接口讀取同目錄下的未公開備忘錄並經外部接口發送。在沒有任何語法報錯的情況下,只負責摘要的助手變成了數據外泄通道。

這一情形暴露出智能體工程化的安全邊界:一旦智能體可讀取外部內容,間接提示詞注入便成為主要威脅;防線必須下沉為縱深防禦體系——包括插件簽名與許可證掃描、按智能體的最小權限身份,以及高危調用經策略網關和人工確認。

數據與指令混同、記憶提取與「困惑的代理人」

為什麼賦予大模型工具調用能力會改變系統的威脅模型?計算機安全研究從指令邊界、模型記憶與操作權限揭示了背後的機制。

首先是數據與指令邊界的消解。Greshake 等人(2023)指出,以往通常假設是由用戶直接向大模型輸入提示詞;但在集成大模型的應用中,數據與指令的界限被模糊了[1]。攻擊者無需直接接觸交互界面,只需將提示詞策略性地注入到推理階段可能被檢索的數據中,即可通過「間接提示詞注入」(Indirect Prompt Injection)遠程利用應用[1]。作者從計算機安全視角建立了系統的風險分類,涵蓋數據竊取、蠕蟲式傳播(worming)與資訊生態污染等新型風險,並在聯網對話系統、代碼補全引擎及合成應用中驗證了攻擊的現實可行性[1]。研究表明,處理被檢索到的提示詞可起到類似任意代碼執行的作用,操縱應用功能並控制是否及如何調用其他 API,而針對這些新興威脅的有效緩解手段仍然匱乏[1]。

其次是模型底層的記憶提取風險。Carlini 等人(2021)證實,攻擊者可通過查詢大模型來執行訓練數據提取攻擊,從而恢復出單條訓練樣本[2]。在一個基於公開互聯網數據訓練的公開模型上,研究者提取出數百條逐字吻合的訓練文本序列,包含個人身份資訊(姓名、電話號碼、電子郵箱地址)、代碼與標識符;同時,規模更大的模型比小模型更脆弱[2]。當外部注入指令操控智能體發起查詢並外傳結果時,提取風險便與工具通道疊加。

更深層的架構缺陷源於作業系統的經典難題。Hardy(1988)描述了一個編譯器服務案例:該編譯器擁有寫入計費文件的權限;一名用戶請求編譯器將輸出寫入計費文件的名稱,編譯器在代表用戶行事時動用了自身權限,結果覆蓋了計費文件[3]。Hardy 將該程式稱為「困惑的代理人」(“confused deputy”):它同時持有兩種權限,卻分不清自己在為誰行使哪項權限[3]。Hardy 指出,將對象的指定與使用該對象的權限捆綁在一起的「能力」(capabilities)機制可避免這一問題[3]。當智能體持有寬泛的 OAuth 令牌或宿主控制權,卻替未經校驗的外部文本調用接口時,便成了「困惑的代理人」。

三張卡片:間接提示詞注入讓被檢索的數據像指令一樣執行(Greshake 等,2023);訓練數據提取可恢復數百條逐字訓練序列(Carlini 等,2021);困惑的代理人同時持有兩種權限卻分不清為誰行使(Hardy,1988)。

構建工具調用的縱深防線:供應鏈核驗、策略網關與人工關口

要阻斷上述風險,工程架構必須在插件准入、身份邊界與執行動作上建立硬約束。在 rlab.works 的智能中樞與模型網關模組中,這一縱深防線對應四項工作流契約。

第一層是工具供應鏈准入。技能包工具接入與權限管理(S04)以「待安裝工具包與所需訪問範圍」為輸入:先檢查簽名與許可,由簽名插件倉庫與可信安裝驗證簽名並輸出簽名與許可檢查清單;隨後在「批准帳戶權限」人工複核關口暫停,由指定複核人或請求用戶審批連接與範圍(被拒絕的輸出退回修訂,不進入下一步);批准後安裝並登記工具目錄,最後經人工複核完成「試用並備回退」,留存安裝記錄與回退辦法。

第二層是最小權限與網關策略。模型網關中的技能包團隊模型訪問規則(S14)以「團隊分工、服務目錄與訪問要求」為輸入,先定義角色和請求規則草案,經人工複核審閲差異並批准版本後,由「策略管控的 MCP 網關」與限定範圍的智能體身份與授權綁定帳戶、限制工具權限範圍並按端點與命名空間執行策略,最後由人工抽查請求記錄,形成可回退的訪問驗收結論。

第三層是高危操作確認與恢復準備。技能包經審批的電腦操作(S03)以「操作目標、帳戶和允許修改的資料」為輸入:先準備帳戶與登入,生成受限上下文,經「審批操作清單」人工關口批准後執行並保留截圖、文件差異與回執,最後由人檢查改動。涉及版本發佈時,「版本發佈與回退」(S05)則將整理發佈清單、演練備份恢復、人工批准上線、分批上線與人工驗收或回退串聯成閉環。

中樞示意:外部網頁、郵件與第三方文檔中的內容,要觸發修改文件、對外發送、界面操作或發佈版本,須依次經過三層防線——簽名與許可核驗(S04)、限定範圍的身份與網關策略(S14)、高危操作人工確認(S03、S05)。
在本文涉及的企業服務、法律與能源行業中,上述技能包均無「源數據有行業依據」標籤,僅作為可遷移應用或通用模式: - **企業服務**:「工具接入與權限管理」(S04)為可遷移應用,可在接入新工具時核對來源、許可和帳戶範圍,但需按包格式和客戶端選擇適配器並保留失敗與撤銷路徑;其餘三項在此行業無標籤,僅作通用模式。 - **法律**:「經審批的電腦操作」(S03)為可遷移應用,可讓法務助理先列出案卷整理操作、經授權後執行並核對差異,但須逐項限制讀寫目錄,對外提交不在預設權限內;其餘三項無此行業標籤。 - **能源**:「版本發佈與回退」(S05)為可遷移應用,可打包站點輔助軟件的安裝、簽名和恢復證據並經負責人確認後分階段更新,但只涉及輔助軟件交付、不操控電站設備,且需適配離線環境、可信簽名與站點變更流程。此外,S14 僅在公共服務中標為可遷移應用(需接入組織身份與實際文檔權限,不能只靠提示詞限制訪問)。

需如實説明邊界:站點所有技能包均為擬議編排,僅以合成數據演示,尚未接入真實服務;組件成熟度來自靜態源碼檢查而非生產部署。

上線智能體工具鏈前的管理檢驗

業務與技術負責人在資助試點前,可執行三項檢驗:

  • 憑證是否與具體操作對象綁定? 核查智能體是否仍在共用高權限帳戶或全局令牌,確保每次工具調用都綁定受限身份與指定目錄,防止代理程式替外部文本越權行事。
  • 外部讀取與修改動作之間是否設有人工關口? 凡讀取過外部網頁、郵件或第三方文檔的會話,後續涉及文件修改、外發或界面點擊的操作必須經策略網關與人工確認,被拒絕的操作不得放行。
  • 插件安裝與版本更新是否具備簽名與回退證據? 確認工具包入庫前已完成簽名和許可證核驗,發佈前已具備隔離恢復證據與回退路徑。

參考文獻

  1. [1]

    Greshake, K., Abdelnabi, S., Mishra, S., Endres, C., Holz, T., & Fritz, M. (2023). Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection. Proceedings of the 16th ACM Workshop on Artificial Intelligence and Security (AISec), 79–90. doi.org/10.1145/3605764.3623985

  2. [2]

    Carlini, N., Tramer, F., Wallace, E., Jagielski, M., Herbert-Voss, A., Lee, K., Roberts, A., Brown, T., Song, D., Erlingsson, U., Oprea, A., & Raffel, C. (2021). Extracting Training Data from Large Language Models. 30th USENIX Security Symposium (USENIX Security 21), 2633–2650. usenix.org ↗

  3. [3]

    Hardy, N. (1988). The Confused Deputy: (or why capabilities might have been invented). ACM SIGOPS Operating Systems Review, 22(4), 36–38. doi.org/10.1145/54289.871709

分享這篇文章

正在生成海報…

  • X
  • WhatsApp

AI 落地診斷

約 3 分鐘 · 9 個問題

對話僅用於本次診斷 · 回覆由 AI 生成