![]()
這項研究成果已被軟件工程領域頂會 ASE 2026 接收。論文第一作者為港科大 CSE 博士生劉澤森,通訊作者為佘東冬教授。
在大語言模型 Agent 走向真實部署后,一個越來越常見的問題是:上下文太長了。
現在的 AI Agent 動輒需要處理超長上下文,既要看系統提示詞、工具說明,又要翻閱歷史對話和檢索文檔。為了省錢、省算力并降低延遲,很多開發者會給系統加上 “提示詞壓縮”(Prompt Compression)模塊,把冗長的上下文濃縮后再喂給大模型。
但這招真的安全嗎?
香港科技大學的一項最新研究給出了否定答案。他們發現,這個原本用來 “提效” 的組件,竟然會悄悄重寫系統的安全邊界,成為大模型應用中的全新攻擊面。
![]()
- 論文鏈接:https://arxiv.org/pdf/2510.22963
- 代碼鏈接:https://github.com/zsLiu2003/Comattack
![]()
研究背景:壓縮不只是省 token,而是在重寫安全邊界
傳統針對 LLM Agent 的攻擊,如 prompt injection、jailbreak 或 RAG poisoning,通常默認一個前提:攻擊內容必須進入后端 LLM 的有效上下文,并被模型當作惡意指令執行。
但在 prompt-compressed pipeline 中,情況發生了變化。
后端 LLM 看到的并不是原始 prompt,而是經過壓縮器處理后的 compressed prompt。換言之,壓縮器決定哪些系統規則、任務證據和上下文信息會被保留,哪些會在預算限制下被丟棄。
這帶來一個新的安全問題:攻擊者不一定需要讓惡意指令穿過壓縮器,也不一定需要讓攻擊 payload 在壓縮后仍然可讀。攻擊者只需要在壓縮前擾動非可信輸入,例如用戶請求或外部文檔,就可能改變壓縮器的保留決策,使關鍵安全規則或任務證據在后端推理前被刪除。
一個直觀的例子是:系統提示詞中包含「must never use shell」這樣的安全約束。攻擊者無法直接修改系統提示詞,但可以在用戶請求后添加一段短擾動。壓縮后,安全約束中的關鍵否定詞可能被丟失,后端 LLM 最終看到的是一個被削弱的規則,從而執行本應拒絕的請求。
![]()
核心概念:Adversarial Information Loss
為了量化這種風險,研究團隊提出了 “對抗性信息損失”(AIL)的概念。簡單來說,就是看攻擊者能不能通過微小的擾動,故意放大壓縮過程中的信息流失,把不該丟的關鍵內容擠掉。它不是簡單地問壓縮質量好不好,而是問:在攻擊者存在時,壓縮后的 prompt 是否會誘導后端 Agent 做出與正常壓縮明顯不同、且安全相關的錯誤行為。
![]()
技術核心:COMA 如何攻擊黑盒壓縮 Agent?
在真實系統中,攻擊者通常不知道壓縮器參數、壓縮預算,也看不到真實 compressed prompt。因此,論文提出了一個 transfer-based black-box attack 框架:COMA。
COMA 的核心思想是兩階段優化。
第一階段,COMA 在壓縮空間中尋找一個會誘導后端錯誤行為的目標 compressed prompt。例如,它會定位哪些關鍵 token 或關鍵證據一旦被刪除,就會導致工具選擇錯誤、問答錯誤,或系統安全規則失效。
第二階段,COMA 在壓縮前輸入中搜索一個擾動,使得經過 surrogate compressor 壓縮后,輸出盡可能接近第一階段找到的目標壓縮結果。最后,候選擾動會被放到真實黑盒 Agent pipeline 中進行端到端驗證。
![]()
實驗結果:六種壓縮器、三類任務下均有效
研究團隊在三類任務上評估了 COMA:Agent Tool Selection、Question Answering 和 System Prompt Corruption,覆蓋六種常見 prompt compressors,包括 extractive 與 abstractive 兩類壓縮方式。
實驗結果顯示,COMA 在全部 18 個設置中都取得最高攻擊成功率,平均 ASR 達到 0.71,而最強的非壓縮感知攻擊 baseline 僅為 0.21。與此同時,無攻擊設置和移除壓縮器后的 COMA 設置都接近 0.01,說明該攻擊并不是普通惡意提示詞導致的,而是確實來自 prompt compression 引入的攻擊面。
![]()
COMA 也表現出較強泛化性。在不同壓縮預算下,即使正常壓縮幾乎不會造成錯誤,攻擊仍能顯著放大失敗率。在不同后端 LLM 家族和模型規模上,COMA 的平均 ASR 仍達到 0.69,說明后端模型更換并不能根本解決問題:一旦關鍵上下文已經在壓縮階段被刪除,后端模型往往無法恢復。
論文進一步分析了攻擊機制。結果顯示,COMA 的 Critical Token Removal Rate 與 ASR 高度一致:它并不是簡單添加噪聲,而是在可控地引導壓縮器刪除少量行為關鍵內容。對于系統提示詞破壞任務,一旦安全規則中的關鍵 token 被移除,拒絕條件就會直接消失。
真實案例:從 VSCode Cline 到 LangChain Agent
為了驗證風險是否能遷移到真實 Agent pipeline,論文構建了兩個案例。
第一個案例來自 VSCode Cline。正常情況下,Agent 會拒絕讀取 workspace 外部的敏感文件;但加入 COMA 擾動后,壓縮器削弱了系統提示詞中的關鍵約束,后端模型最終觸發了對敏感文件的讀取行為。
第二個案例來自 LangChain + Ollama 的 ReAct Agent。正常情況下,Agent 會為代碼特征抽取任務選擇正確工具;攻擊后,壓縮后的工具描述發生偏移,Agent 被誘導選擇錯誤工具。
![]()
這兩個案例說明,prompt compression 的風險并不局限于離線 benchmark,而可能影響真實軟件工程 Agent 和工具調用 Agent。
如何防御:隔離是關鍵
面對這種新型攻擊,現有的防御手段(如基于困惑度的檢測)往往會大打折扣。為此,研究團隊給出了一個非常務實且有效的緩解方案:隔離壓縮(Isolated Compression)。
核心思路很簡單:別把系統提示詞、可信上下文和用戶輸入的不可信內容混在同一個預算池里壓縮。系統應該將可信與非可信輸入分開處理,并在重組拼接時加上明確的邊界標記。實驗證明,這種結構性防御在保護系統提示詞方面非常有效,防御成功率能達到 96%。因為非可信內容不再與系統護欄共享壓縮預算,攻擊者就很難通過外部輸入去 “擠占” 安全規則的生存空間了。
這項工作提醒了什么
這項研究揭示了 LLM Agent 部署中的一個關鍵問題:很多為了效率引入的系統組件,并不是簡單的工程優化,而會改變模型最終看到的信息,從而改變整個 pipeline 的安全邊界。
因此,對于未來的 LLM Agent 系統,安全分析不能只盯著后端 LLM 本身,也需要覆蓋緩存、檢索、壓縮、工具編排等中間層。尤其是在長上下文和 agentic workflow 越來越普遍的場景下,如何在效率與安全之間建立更可靠的系統邊界,將成為 Trustworthy Agentic AI 的核心問題之一。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.