MPMA:Preference Manipulation Attack Against Model Context Protocol
概要
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。