编辑 | 云昭
出品 | 51CTO技术栈(微信号:blog51cto)
MCP 这次真的火了!
自从Anthropic于 2024 年 11 月推出以来,它有望成为“将 AI 助手连接到数据所在系统的新标准”。
截至目前,该协议已被 OpenAI、微软和谷歌等公司迅速采用;各大供应商纷纷推出 MCP 服务器,希望在 AI 代理工作流程中不失时机。同样,阿里、腾讯、百度等国内大厂也毫无例外地统一宣布支持MCP协议。
简单说,MCP在网络上风靡一时的原因很简单——人们已经发现了它各种各样的使用场景。但问题是:最近,人们开始注意到 MCP 服务器并不像看上去那么安全。
一、为什么 MCP 服务器很危险呢?
要了解这些危险,您首先需要了解什么是 MCP 服务器以及它是如何工作的。
1.MCP 服务器究竟是如何工作的?
MCP 服务器就像专业的管家,充当 AI 模型和外部资源之间的桥梁。它们提供特定的功能,例如访问文件、与数据库交互或使用 API。每个 MCP 服务器都专注于一项特定的任务,使 AI 能够轻松使用这些工具,而无需为每项服务编写自定义代码。
2.MCP 服务器的工作原理
连接:AI(充当 MCP 客户端)连接到 MCP 服务器。
工具发现:服务器告诉 AI 它可以访问哪些工具或数据源。
通信:它们使用名为 JSON-RPC 2.0 的轻量级协议进行通信,该协议允许快速和动态的交换。
例如,如果人工智能需要从数据库中获取数据:
AI向MCP服务器询问最新的销售数据。
MCP 服务器将请求转换为数据库查询。
它执行查询并将结果发送回 AI。
图片
3.危险之处
1)工具中隐藏恶意指令(工具中毒)
攻击者可以将有害命令隐藏在 MCP 工具描述中。这些指令对用户不可见,但可以诱骗 AI 模型执行危险的操作。
工具描述可能看起来很正常(例如,“分析此文件”),但人工智能可能会秘密复制敏感文件(如密码或客户数据)并将其发送给黑客。
攻击者可能会在“更新设置”等看似简单的任务背后隐藏代码来删除文件或窃取数据。
2)用户看不到隐藏的风险
人们只能看到简短的工具描述,而AI模型却能看到完整的、可能有害的指令。更糟糕的是,许多MCP工具不会检查隐藏的危险。
一款名为“整理文件”的工具在AI运行时,实际上可能会删除重要文档。用户除非检查代码,否则不会发现。
3)批准后的虚假更新(MCP Rug Pulls)
黑客可以在您批准工具后修改工具的描述,并在安装后添加有害代码。
想象一下,你安装了一个计算器工具。后来,黑客对其进行了更新,窃取了用户在应用中输入的信用卡号码。这就像一个“假更新”骗局。
4)劫持可信工具(跨服务器攻击)
恶意服务器可以覆盖安全服务器的工具。这些攻击不会在用户日志中留下任何痕迹。
被黑客入侵的服务器可能会更改受信任的电子邮件发送工具,将所有电子邮件转发到黑客的地址,即使您输入了正确的收件人。
5)真实世界中有效的漏洞
Cursor AI 漏洞:名为“add()”的工具看似无害,但却会从设置文件中秘密窃取登录详细信息(如密码)。
虚假电子邮件工具:一种恶意工具,假装向您的联系人列表发送消息,但实际上却将其发送给了黑客。
6)MCP 的内在弱点
MCP 完全信任工具描述,即使它们很危险。一台服务器被黑可能会感染其他服务器。
如果黑客入侵了一个工具,他们就可以利用它攻击所有连接的工具,就像连锁反应一样。
7)当今保护措施薄弱
大多数用户并不知道 MCP 服务器的风险有多大。工具也缺乏基本的安全保障。
如果某个工具更新了有害代码,除非客户端检查更改(许多客户端不会检查),否则用户不会知道。
二、如何保持安全
图片
虽然 MCP 的概念很棒,但它也隐藏着一些每个人都应该知道的风险。为了安全起见,你可以遵循以下步骤:
- 在安全性提高之前,请避免使用不受信任的 MCP 服务器。
- 使用强有力的保护措施,例如:
工具固定:将工具锁定为特定的、经过验证的版本。
用户友好警告:清楚地显示工具运行前的功能。
跨服务器隔离:分离工具,以便被黑客入侵的工具不会影响其他工具。
- 对于关键任务,请考虑像 Invariant 的安全堆栈这样的解决方案,它增加了额外的保护层。
三、怎么办?安全指南来了
但这并非代表着MCP 服务器一无是处,当然它们也很有用。只不过,它们就像开车不系安全带一样,确实很方便,但一步走错就完蛋了。黑客可以在工具描述中隐藏恶意代码,诱骗 AI 泄露你的机密,或者在你信任之后“更新”工具。
生存方法如下:
将每个 MCP 服务器视为一个粗略的应用程序下载 - 避开那些没人信任的服务器。
通过固定将工具牢牢锁定(这样黑客以后就无法潜入)。
如果您必须使用 MCP,请像隔离放射性物质一样将其隔离 - 将其远离您的重要物品。
总而言之,MCP 的技术很酷,但它仍在改进中。谨慎使用,做好自我保护,或者等到“安全更新”发布后再完全信任它。
想了解更多AIGC的内容,请访问:
51CTO AI.x社区
https://www.51cto.com/aigc/