0
| 本文作者: 陳淑瑜 | 2026-06-15 17:24 | 專題:ICML:國際機器學習會議 |
來源:公眾號“機器之心”
原文鏈接:https://mp.weixin.qq.com/s/aJQTpQtyd5Xka3CpoTWu4g?scene=1&click_id=28
本文第一作者張芝翔為復旦大學本科四年級學生,即將前往香港科技大學CSE系攻讀博士,研究方向為AI Security&Trustworthy AI。通訊作者是香港科技大學佘東冬教授。
在當前大語言模型(LLM)與 AI 智能體(AI Agent)風頭正勁的當下,如何降低高昂的推理成本和延遲成為了端側及云端部署的核心痛點。
為此,諸如 AWS、微軟(Azure)等云服務商以及各類開源框架,廣泛引入了語義緩存(Semantic Caching)的應用層技術。通過將用戶的查詢語句轉化為嵌入向量(Embedding Vector)作為緩存鍵(Cache Key),系統能夠對語義相似的請求直接命中并返回緩存結果,從而免去重復的 LLM 計算。
然而,這種為了追求效率而引入的「模糊匹配」機制,是否隱藏著致命的安全隱患?
來自香港科技大學與復旦大學的安全研究團隊在機器學習國際頂級會議 ICML 2026 上發表了最新成果:《From Similarity to Vulnerability: Key Collision Attack on LLM Semantic Caching》。

論文鏈接: https://arxiv.org/pdf/2601.23088
該研究系統性地剖析了語義緩存機制在完整性(Integrity)層面的固有漏洞,并提出了自動化黑盒攻擊框架 ——CacheAttack。實驗表明,該攻擊在多租戶及智能體場景下,能夠以高達 86% 的成功率劫持 AI 系統的響應。相關實驗已覆蓋包括 AWS、微軟 Azure 在內的多家主流云服務商。

圖 1: 語義緩存碰撞攻擊示意圖
研究背景:當「近朱者赤」的語義相似性變成漏洞
以往針對 LLM 緩存系統的安全研究,大多集中在側信道攻擊以及隱私泄露(如通過推理延遲重建用戶的私密提示詞)。而本項工作則將目光投向了長期被忽略的完整性破壞(Integrity Compromise)。
研究團隊敏銳地指出:語義緩存的匹配機制,在本質上是一種「保留局部性」的模糊哈希(Locality-Preserving Fuzzy Hash)。

這帶來了一個根本性的設計悖論 —— 性能(局部性)與安全(抗碰撞性)的天然沖突:
傳統密碼學哈希:追求「雪崩效應(Avalanche Effect)」,即輸入改變一個比特,輸出哈希值就會發生天翻地覆的變化,從而獲得極強的抗碰撞能力。
語義緩存哈希:為了提升緩存命中率,故意抹殺了雪崩效應,使得語義相似的輸入能夠映射到同一個向量空間區域(即同一個緩存鍵)。
這種天然的模糊性為攻擊者敞開了大門。攻擊者可以通過巧妙地設計對抗樣本(Adversarial Suffix),在保持惡意指令語義完全不變的前提下,讓其嵌入向量與受害者的良性查詢強行「對齊」。如圖 1 所示,當受害者發送良性請求時,系統誤以為命中緩存,直接將攻擊者事先「埋好」的惡意響應喂給受害者,從而實現了響應劫持(Response Hijacking)。
團隊還從理論層面為這種「性能與安全」的權衡(Trade-off)給出了嚴格的數學證明。研究通過形式化推導,揭示了語義緩存機制固有的誤報風險下界(False-Positive Bound):

技術核心:CacheAttack 框架如何撬動黑盒系統?
在實際生產環境中,語義緩存中間件對攻擊者而言通常是個完全的黑盒(不知道 Embedding 模型參數、向量表征及具體的相似度閾值)。為了克服這一挑戰,研究團隊設計了一個自動化的「生成器 - 校驗器(Generator-Validator)」框架:
1. 離線生成器(Generator)
攻擊者構建形如
的對抗提示詞,其中 s 為離散的對抗后綴。框架基于 GCG 搜索算法,在本地替代模型(Surrogate Model)上進行端到端的聯合優化:

這里巧妙地引入了困惑度(PPL)懲罰項,確保生成的對抗提示詞不僅碰撞能力強,而且符合人類語言流暢度,從而能夠輕易繞過智能體的前置輸入過濾器。
2. 雙變體校驗器(Validator)與時延側信道
因為無法直接讀取黑盒系統的緩存狀態,CacheAttack 創新性地將緩存驗證建模為隱狀態推斷問題。系統利用執行時延(Latency)作為側信道信號,通過構建高斯混合模型(GMM)和最大后驗概率(MAP)決策規則,動態排除網絡抖動干擾,精準推斷是否發生緩存命中。
為了應對不同強度的防御,研究團隊提出了兩款攻擊變體:
CacheAttack-1(直接驗證):直接在目標黑盒模型上高頻探測。雖然直觀,但由于缺乏顯式刷新緩存的權限,每次探測需要等待 TTL(生存時間)過期,且易被流量分析檢測。
CacheAttack-2(替代模型協助過濾):這也是本工作的精髓所在。它將絕大部分的對抗迭代留給本地高吞吐的替代模型,只有當候選后綴在本地成功觸發碰撞后,才向黑盒目標系統發起單次驗證。這徹底解耦了 TTL 限制,兼顧了隱蔽性與攻擊效率。
實驗驗證:主流云服務與智能體全線告急
研究團隊在多個嚴苛場景下對 CacheAttack 進行了評估,包含 AWS、微軟(Azure)等云服務商。
在探討基礎響應劫持能力的 RQ1 中,CacheAttack 展現出了驚人的黑盒穿透性。在主流語義緩存(Semantic Cache)GPTCache 上,CacheAttack-1 和 CacheAttack-2 分別取得了 86.9% 和 83.1% 的極高命中率(Hit Rate)。
而在探討復雜智能體工作流影響的 RQ2 中,該攻擊的表現更為致命:通過對工具調用鏈條進行精準的緩存碰撞,CacheAttack 成功誘導 AI Agent 產生連鎖規劃錯誤并盲目調用惡意工具,導致智能體的工具選擇正確率和最終任務完成度呈斷崖式下跌。
案例:金融 Agent 慘遭「惡意洗劫」
為了讓大家更直觀地感受語義緩存碰撞的危害,研究團隊在論文中展示了一個真實的金融智能體實戰案例(圖 2):
正常狀態下:受害者詢問投資建議,金融 Agent 讀取新聞后給出保守策略:「市場穩定,建議保持觀望」,不觸發任何交易工具。
遭受攻擊時(分為兩階段):
第一階段(埋雷):攻擊者首先向系統發送一條關于「股票 A 暴跌」的惡意提示詞并附帶對抗后綴。系統照常運行,并生成了對應的強平清倉工具調用 set_order (Stock_A, 5000, SELL),該結果被寫入共享語義緩存。
第二階段(引爆):隨后,受害者發送了一個完全不同且毫無惡意的日常詢問:「請幫我看看最近的新聞,我的投資該怎么辦?」。由于對抗后綴的干擾,受害者請求的 Embedding 鍵直接與攻擊者的緩存鍵發生惡性碰撞。
后果:系統直接跳過 LLM 推理,無條件復用了攻擊者那條「賣出 5000 股股票 A」的緩存指令。受害者的賬戶在毫不知情的情況下被強制平倉,造成了實質性的重大經濟損失。

圖 2: 金融 agent 收到語義緩存鍵碰撞攻擊
結語與思考
效率與安全的零和博弈:語義緩存無法逃避的底層宿命
這項研究最深刻的貢獻,不僅在于提出了一個高效的攻擊框架,更在于它揭示了現階段 LLM Serving 架構中一個無法調和的底層悖論(Inherent Trade-off):
向左走(追求性能):為了最大化緩存命中率、降低推理成本和 tail latency,系統必須放寬匹配邊界,采用強局部性(Locality)的模糊哈希。然而,邊界越寬松,留給攻擊者的 False-Positive(誤報碰撞)空間就越大。
向右走(追求安全):如果為了抵御 CacheAttack 而強行收緊閾值,甚至退回精確 Token 匹配,或者像常規哈希那樣追求「雪崩效應」,語義緩存便會名存實亡,失去其存在的商業與技術價值。