返回首頁

AI 安全

代理框架重建上下文時會「升級」惡意指令,六款 coding agent 全數受影響

新研究發現,子代理、持久目標與排程任務可能把工具輸出重新包裝成高權限使用者指令。攻擊在六款代理上涵蓋全部 13 類目標,啟用自動權限審查仍未阻擋受測路徑。

Ned Russell from Hong Kong, Hong Kong · CC BY 2.0 · Image source
zh-Hant

南京大學研究團隊提出「指令權限提升」(Instruction Privilege Escalation,IPE):問題不在模型忽略指令層級,而在代理框架重建上下文時遺失內容來源。一般專案檔案經讀檔工具進入模型時只是低權限 `tool` 內容;主代理若把其中的文字交給子代理,框架可能在新對話中將同一段文字標成 `user` 訊息。模型其實正確服從眼前的權限標籤,卻不知道所謂「使用者要求」原本來自攻擊者控制的檔案。

作者測試 Claude Code、Codex、Gemini CLI、Qwen Code、Kimi 與 OpenCode,以資料外洩、完整性破壞、阻斷服務及遠端程式執行等 13 個目標進行攻擊。在 unrestricted/full-access 配置下,六款框架最終都完成全部目標;三款提供自動權限審查的框架也未能阻止全部 13 類攻擊。單次嘗試成功率並非一律 100%,tool-to-user 路徑依框架與目標介於 31.7% 至 100%,因此「13/13」代表在最多十次嘗試內覆蓋所有目標,而非每次必定成功。

更棘手的是,漏洞不限於多代理委派。持久目標與排程任務也會先把文字存入狀態,再以使用者訊息重新送回模型;作者測試的 Claude Code 排程、Codex 目標與排程、Qwen Code 排程四條路徑同樣完成 13/13。自動審查器甚至可能正確辨識命令屬高風險,卻因重建後的紀錄看似由使用者明確授權而放行。

工程上不能只改善提示注入辨識率。框架需要在委派、恢復與排程之間保留不可變的來源與權限標籤,審查器也應取得原始資料流,而非只讀重建後的對話角色;由代理建立的未來任務還應受獨立能力控制。論文目前是未經同儕審查的預印本,且測試集中於特定版本與作者設計的攻擊環境,供應商修補狀態仍須逐一確認。

來源

  1. When Context Gets Root: Privilege Escalation in LLM Harnesses
  2. The Instruction Hierarchy: Training LLMs to Prioritize Privileged Instructions