安全牛 22小时前
MCP爆火背后的10大安全风险解析
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

模型上下文协议(MCP)作为连接大语言模型(LLM)与外部工具数据源的关键机制,已成为AI集成的事实标准,并被OpenAI、Anthropic和微软等巨头采用。然而,由于缺乏统一的安全认证,MCP的应用存在数据安全和调用逻辑等方面的隐患。本文深入分析了10大已被验证的MCP应用安全风险,包括跨租户数据暴露、AI寄生攻击、工具中毒、令牌窃取与账户接管等,并为每项风险提供了详细的安全防护建议,旨在帮助组织更安全地利用MCP技术。

🛺 跨租户数据暴露:类似跨站脚本攻击,攻击者可借此访问其他租户数据。建议 MCP 服务器严格执行租户隔离和最小权限访问原则。

🤖 AI寄生攻击:攻击者通过隐藏提示注入,诱导 AI 助手访问敏感数据和业务流程。建议限制 AI 操作权限、实时分析提示内容并记录审计日志。

🛠️ 工具中毒:从不可信来源下载的 MCP 服务器可能包含恶意指令,如在描述字段、函数名等植入恶意代码。建议检查服务器来源、权限合理性,并定期进行安全复查。

🌐 借助可信平台的恶意代理:攻击者利用GitHub等可信平台注入恶意提示,AI代理通过可信 MCP 服务器访问敏感数据。建议清晰记录第三方工具行为,限制工具操作范围,监控异常。

🔑 令牌窃取与账户接管:攻击者窃取 MCP 服务器中未加密的 OAuth 令牌,可创建自己的 MCP 服务器实例,进行非法访问。建议加密存储 OAuth 令牌,并使用即时访问、持续验证和行为监控。

🔗 组合链攻击:用户使用未经验证的第三方 MCP 服务器,可能导致数据通过多层 MCP 服务器被窃取。建议遵循纵深防御和零信任原则,持续验证和授权每次 MCP 交互。

⚠️ 用户同意疲劳攻击:恶意 MCP 服务器发送大量无害请求,使管理人员放松警惕,从而隐藏恶意指令。建议提供清晰透明的用户界面,实施精细的同意选项。

🚪 管理权限绕过威胁:无需身份验证的 MCP 服务器可能导致 AI 代理获取超出其权限范围的信息。建议集中记录 MCP 事件,实施持续监控和异常检测。

💻 命令注入威胁: MCP 服务器未充分验证用户输入,可能导致攻击者注入恶意命令。建议对用户输入进行安全审查和控制,避免直接传递给 shell 命令。

👻 影子工具威胁:组织面临未经安全团队知晓的私自安装的 MCP 服务器(“影子MCP”),带来安全盲点。建议部署统一的 MCP 服务管理工具,结合数据丢失防护技术。

2025-07-25 14:13 北京

模型上下文协议(MCP)是 LLM 连接外部工具与数据源的机制,成 AI 集成事实标准,被多家巨头采用。但因缺乏统一安全认证,MCP 应用存数据安全、调用逻辑等隐患。本文整理 10 大已验证安全风险及防护建议。

模型上下文协议(MCP) 是一种让大语言模型(LLM)与外部工具、数据源打通的机制,能够让模型不再局限于内部知识,而是可以实时调用各种工具、访问各种文档。随着AI技术的不断发展,MCP的应用也日益广泛,OpenAI、Anthropic和微软等主要AI技术公司都开始采用它,已然成为了实现第三方数据、工具与AI智能集成的事实标准。

然而在MCP应用爆火的背后,现实远比设想的要复杂。由于MCP在设计之初并未定义统一的安全认证机制,各MCP服务器在威胁防护方面参差不齐,组织只要接入了MCP,就可能在数据安全、调用逻辑、用户预期以及性能表现等方面出现各种安全隐患。在本文中,收集整理了已被真实验证的MCP应用10大安全风险隐患,并给出了相应的安全防护建议。


1、跨租户数据暴露


这一安全威胁与跨站脚本攻击类似,攻击者可借此访问其他租户(包括内部团队、合作伙伴和客户)的数据。事实上,已有科技公司在其 MCP 服务器实现中被发现存在该安全威胁,这为所有部署 MCP 服务器的企业敲响了警钟。

安全建议:

为防范此类风险,企业应确保 MCP 服务器严格执行租户隔离,并采用最小权限访问原则。


2、AI寄生攻击


攻击者会伪装成员工、合作伙伴或客户,向人工客服发送包含隐藏提示注入的请求,这些注入的指令只有 AI 能够读取。当人工客服将请求转交 AI 助手后,AI助手凭借与 MCP 服务器的连接,可访问到能接触敏感数据和业务流程的工具,进而被攻击者利用实施恶意访问行为。这并非理论上的威胁,实际上有很多拥有先进技术的科技公司也都受到其影响。

安全建议:

企业应该通过限制 AI 操作的最小权限、实时分析提示中的可疑内容以及记录 MCP 活动审计日志等方式来防范。


3、工具中毒


初次搭建 MCP 服务器并非易事,好在有大量现成的服务器可供使用,目前谷歌上可被检索的MCP 服务器目录已列出超过 15,000 个应用。但这些从网上下载的 MCP 服务器在安全性方面却未必可靠,可能存在恶意指令。比如,Invariant Labs实验室曾实际演示了恶意MCP服务器是如何通过在描述字段添加恶意指令,绕过加密和安全措施从其他系统提取信息。而且,这种恶意指令不仅存在于描述字段,还可能出现在函数名、参数、错误信息等通过MCP服务器生成的各类信息中。

安全建议:

组织要判断下载的 MCP 服务器是否恶意,应首先检查其来源是否为可信组织,然后再查看其请求的权限是否合理,如仅提供猫咪搞笑图片的服务器无需访问文件系统。若有可能,还应该完整审核其源代码。MCP 服务器在被信任后,也可以通过更新被植入恶意代码,因此定期进行安全复查是十分必要的。


4、借助可信平台的恶意代理流


有很多可信的公共平台(如 GitHub)可让攻击者注入恶意提示,当企业的AI代理按常规处理这些内容时,就会通过可信的MCP服务器访问敏感数据。例如,攻击者在公共代码仓库创建含提示注入的 issue,AI代理在检查该 issue时,可能会按照注入的指令,通过 GitHub MCP 服务器访问私人仓库的私密数据。尽管 GitHub 服务器本身未被直接攻破,却成了辅助攻击的第三方渠道。研究人员利用 Anthropic 的 Claude Desktop 演示了这一攻击向量,尽管平台默认要求用户确认每次工具调用,但许多用户仍会选择 “始终允许”的确认策略,从而增加了风险。

安全建议:

清晰记录第三方工具行为,使用户在授权前了解每个工具的功能;同时将工具限制在预先批准的操作范围内,监控异常或意外行为,防止工具被污染。


5、令牌窃取与账户接管


Pillar Security 最新发布的安全报告指出,若攻击者获取了MCP 服务器中存储的未加密 OAuth令牌,就能用该令牌创建自己的MCP 服务器实例。这些OAuth令牌可能因存储在未加密的配置或代码文件中,被攻击者通过后门、社会工程学等方式窃取。以 Gmail 为例,攻击者可借此访问受害者的全部邮件历史、发送伪造邮件、删除邮件、搜索敏感信息及设置转发规则等。且与传统账户入侵可能触发可疑登录通知不同,通过MCP服务使用被盗令牌看上去就是合法的 API 访问,难以被安全机制检测到。

安全建议:

企业需要加密存储常用的OAuth 令牌,并防范相关窃取;使用即时访问、持续验证和行为监控来最小化风险。


6、组合链攻击


未经检查的MCP服务器可能有隐藏的深层恶意指令。如果用户下载并使用第三方MCP服务器,而没有验证其中数据的来源,则可能向第二个远程MCP服务器发送请求。CyberArk将这种MCP服务器攻击向量称为“组合链攻击”。第二台MCP服务器可以返回有效输出以及隐藏的恶意指令,第一台服务器将这些信息与自身的响应合并,然后将所有内容发送给AI代理,后者就会执行这些恶意指令。如果组织在其网络环境中存储了敏感数据,攻击者可能利用此方法进行数据窃取,而受害者甚至从未直接与恶意的MCP服务器建立连接。

安全建议:

遵循纵深防御和零信任原则,不假设隐式信任,持续验证和授权每个MCP交互;结合多层安全控制全面保护MCP环境。


7、用户同意疲劳攻击


很多企业开始要求对AI代理的访问行为进行审批,这当然是一种安全防护措施,却实际上可能产生反效果。Palo Alto 安全专家表示,已经发现一些恶意MCP服务器会向AI代理及其用户发送大量无害请求(如多次读取权限申请),使用户逐渐放松警惕。这种攻击方式与多因素认证疲劳攻击类似,都是利用用户在持续提示下的某些细微疏忽。在其变体采样攻击中,恶意指令会隐藏在冗长的消息中,让人工审核时难以发现,无论是直接发送给LLM的消息还是其返回的结果中,都可能存在这种情况。

安全建议:

应提供清晰、透明的用户界面,实施精细的同意选项,使管理人员能够基于每个访问操作来合理审批、控制权限。


8、管理权限绕过威胁


在这种攻击模式中,企业往往设置了一个无需进行身份验证的MCP服务器,就像很多组织会设置MCP服务器用于其文件目录管理,以便用户通过AI代理轻松查询信息一样。如果用户仅被允许以低级别权限访问这些信息,但MCP服务器并不检查发起初始请求的人员的身份,那么AI代理就可能获取到超出个人被允许知晓的范围的信息。如果此MCP服务器也暴露在外部用户(如业务合作伙伴、客户,甚至公众)面前,这种特权提升就可能会造成巨大的损害。

安全建议:

集中记录所有重要的MCP事件(工具调用、数据请求、错误)以供分析和审计;实施持续监控和异常检测,及早识别可疑的MCP活动。


9、命令注入威胁


现在很多 MCP 服务器实现方式基本上就是“照着用户的输入直接执行代码”,因为按传统的安全防护思路来看,MCP 里的动作本来就是用户自己定义、自己控制的,不需要管控。而如果MCP服务器在没有适当验证的情况下直接将用户输入传递给其他系统,那么就可以以类似SQL注入的方式注入自己的攻击命令。攻击者会全面寻找并利用MCP服务器暴露的所有工具中的命令注入漏洞发起攻击。

安全建议:

要对MCP服务器的用户输入进行安全审查和控制,不能直接传递给shell命令,而是应该使用正确的输入验证和参数化命令。


10、影子工具威胁


组织面临未经安全团队知晓私自安装的MCP服务器("影子MCP")风险,这带来了安全盲点和未监控的访问路径。这些影子MCP可能被利用于未授权访问、数据泄露或意外破坏性操作。当 AI 代理可访问多个 MCP 服务器时,其中一个服务器可能诱使代理不当使用另一个服务器。Solo.io 公司CTO Christian Posta 在其研究中就特别提到了这种恶意MCP攻击方式,他指出企业需重点加强对AI代理操作行为的监控,并定期检查不同MCP服务器之间的异常交互。

安全建议:

部署统一的MCP服务管理工具;结合数据丢失防护(DLP)技术,如基于模式的编辑和与DLP系统集成,防止数据泄露。


参考链接:

https://www.csoonline.com/article/4023795/top-10-mcp-vulnerabilities.html

图片

合作电话:18311333376

合作微信:aqniu001

投稿邮箱:editor@aqniu.com


阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

MCP AI安全 大语言模型 数据安全 风险防护
相关文章