概要
MCP作為提供給LLM作為工具調用的標準化協議被廣泛應用,但是MCP在安全方面還比較脆弱。本文提出了一種MPMA攻擊方法通過在工具的名字或描述中插入具有操控性的文字、短語來操控LLM選擇MCP server的過程。
不了解MCP的具體細節可以看看我寫的這篇文章MCP
場景
在經濟利益驅動下,多個提供類似功能的付費 MCP 服務器常常存在直接的競爭關系。在這種利潤競逐的格局中,惡意 MCP 服務器可能試圖操控 LLM 的工具選擇過程,以提高其在各種用戶查詢中被選中的概率。
攻擊者在第三方平臺發布一個惡意的付費 MCP 服務器,一旦被用戶集成,底層大語言模型(LLM)便會在功能相似的 MCP 服務器中持續偏向選擇該惡意服務器,從而使攻擊者獲取經濟收益。
威脅模型
攻擊場景:
攻擊者部署了一個有害的付費MCP server在第三方平臺上。被用戶部署了這個有害的MCP后,它會影響LLM的工具選擇,讓LLM有更大的可能性去選擇它,從而增加攻擊者的收入。
攻擊者的能力:
- 攻擊者能白盒訪問MCP服務器,能控制其元數據,例如工具名稱、工具描述。
攻擊者的目標:
- 攻擊有效性:保證惡意的MCP server能在LLM選擇頻率上始終超過其他競品;
- 隱蔽性:保持惡意MCP server能不引起用戶懷疑并規避人工審查和自動化檢測;
攻擊方法
本文提出了直接偏好控制攻擊(DPMA),通過在工具的名字或描述中插入具有操控性的文字、短語在大多數設置中取得了很好的效果。
但是這種方法很容易被用戶或者第三方平臺審查出來,因此要保證攻擊的隱蔽性至關重要,受到傳統廣告能無意識的影響人類的偏好的影響,本文進一步提出了一種基于遺傳的廣告偏好控制攻擊(GAPMA),利用傳統廣告的策略構建了4個描述的優化目標:權威型、情感型、夸張型和潛意識型,后在用黑箱的遺傳算法進一步增強了隱蔽性。
Direct Preference Manipulate Attack (DPMA):
攻擊策略: 給工具提供最好的工具描述和最好的名字
- 最好的描述:研究得出包含“best”的單詞和短語是最符合LLM的偏好的,所以把正常的描述和帶有“best”的控制性描述連接起來。 D b = D m + D r D_b = D_m + D_r Db?=Dm?+Dr?
- 最好的名字:也是把單詞“best”和原來的名字拼接在一起。 N b = N m + N r N_b = N_m + N_r Nb?=Nm?+Nr?
但是隱蔽性太差,容易直接被審查出來。下圖是MCP server對外可見部分。
Genetic-based Advertising Preference Manipulate Attack (GAPMA)
攻擊策略: 通過GTP-o來生產具有下列四種廣告特征的工具描述
- 權威型:通過將廣告內容偽裝成專家建議或用戶推薦,將其嵌入文本之中。
- 情感性:通過融入充滿情感色彩的語言,將廣告內容與受眾的情感需求相結合。
- 夸張型:運用夸張手法和強烈的修辭技巧,使產品顯得更加吸引人。
- 潛意識性:通過潛意識提示嵌入信息在不知不覺中影響行為。
攻擊過程:
-
廣告風格初始化:
- 調用 GPT-4o,用提示 P a d v P_{adv} Padv? 將原始描述 D 0 D_0 D0? 轉換成符合目標廣告策略且初具隱蔽性的描述——記作
description
- 將這個
description
在候選池 D D D 中復制 P I P_I PI? 次,構成初始池 P P P
- 調用 GPT-4o,用提示 P a d v P_{adv} Padv? 將原始描述 D 0 D_0 D0? 轉換成符合目標廣告策略且初具隱蔽性的描述——記作
-
遺傳迭代優化:
- 變異(MUTATE):對池中每個候選描述 D j D_j Dj?,使用隱蔽性提示 P e n c P_{enc} Penc? 生成一個“變異”版本 D j ′ D'_j Dj′?,旨在讓表述更不易被察覺
- 交叉(CROSSOVER):從當前池中隨機抽取另一個描述 Random( P P P) 與 D j D_j Dj? 配對,通過 P e n c P_{enc} Penc?生成“交叉”版本 D j ′ ′ D''_j Dj′′?,將兩者的某些元素組合,以探索更多樣化的描述可能
- 候選池擴容:將所有新生成的 D j ′ D'_j Dj′? 和 D j ′ ′ D''_j Dj′′? 加入到“新候選集” P n e w P_{new} Pnew? ,并將 P n e w P_{new} Pnew?并入原有池 P P P,得到一個更大的描述集合
- 隱蔽性 Top- k k k 篩選:調用 GPT-4o 并使用提示 P s e l - k P_{sel\text{-}k} Psel-k?在合并后的池 P P P中選出“最不引人懷疑”的前 k k k 條描述 ,丟棄其余,保留這 k k k 條作為下一輪迭代的池 P P P
- 對上述步驟迭代 n n n 輪
-
終選最優描述: 完成 n n n 輪迭代后,再次調用 GPT-4o,使用提示 P s e l - 1 P_{sel\text{-}1} Psel-1?從池中只選一條,確定出隱蔽性最強的那條描述 D ? D^* D?
實驗
指標
- ASR:評估 MPMA 的攻擊效果
- TPR:衡量 MCP 服務器的隱蔽性
模型
Deepseek-V3、Claude-3.7-Sonnet 、Gemini-2.5-flash、Qwen3-235BA22B、GPT-4o。
MCP Server
天氣信息、時間信息、安裝幫助、熱點新聞、網頁內容獲取、網頁轉 Markdown、加密貨幣分析、網絡搜索。
數據集
每個 MCP 服務器均構造 10 條對應的常見查詢進行評估。
實驗結果
DPMA 實驗結果:
-
“最佳描述”策略幾乎在所有設置下均達到 100% ASR。
-
“最佳名稱”策略在大多數情況下也達 100% ASR,并優于基線;僅在 GPT-4o 下有少數場景 ASR 低于基線,推測其更依賴描述而非名稱。
-
總體而言,DPMA 攻擊效果強,“最佳描述”優于“最佳名稱”。
GAPMA 實驗結果:
從ASR來看:
-
大多數廣告策略(Adv 列)平均 ASR 遠高于基線,唯 GPT-4o 下的 Ex 策略略遜。
-
Au 策略表現最優,Em 策略相對最差;5 種模型中,Gemini 平均 ASR 最高達 91.88%,GPT-4o 最低僅 22.19%,或因其內置防御機制所致。
從TPR來看:
-
所有廣告策略的 TPR 均低于 DPMA 的“最佳描述”。
-
經 GA 優化后的四種策略在 LLM-judge 下 TPR 分別為 Au 0%、Em 5%、Ex 2.5%、Su 0%,均低于最佳描述的 37.5% 和原始描述的 10%。
-
GA 一致顯著降低 TPR,驗證了其提升隱蔽性的效果。
-
綜合攻擊效果與隱蔽性,Au+GA 最優,既擁有最高 ASR 又具最低 TPR。