在一场新披露的供应链攻击中,npm包“postmark-mcp”被武器化用于秘密窃取邮件,这标志着首次报告的MCP(模型上下文协议)在实际环境中被滥用的案例。
这个恶意包在流行的node.js包注册表上每周有1500次下载,它伪装成用于将交易邮件服务Postmark集成到AI助手中的正版MCP服务器。
“从1.0.16版本开始,它(postmark-mcp)一直在悄悄地将每封邮件复制到开发者的个人服务器,”Koi Security的Idan Dardikman在博客文章中表示。“我指的是密码重置、发票、内部备忘录、机密文件——所有内容。”
据Dardikman称,在此之前的十五个版本中,postmark-mcp一直是一个合法工具,受开发者信任用于将AI助手与邮件工作流集成。然后,通过单行代码更改,它悄悄地添加了后门。
通过隐藏密送字段的后门
Koi的风险引擎在1.0.16版本中标记了一个可疑行为,这引导他们的研究人员发现了一个隐藏的密送字段插入。攻击者复制了官方(ActiveCampaign)MCP代码库,然后在代码深处注入了一行邮件复制代码。一旦该版本发布,每次工具发送邮件时,它都会悄悄地将副本转发到phan@giftshop.club,这是一个与攻击者相关的域名。相同的名称,相同的功能,只是添加了一个后门。
“postmark-mcp后门并不复杂——它简单得令人尴尬,”Dardikman补充道。“但它完美地展示了这整个设置是多么彻底崩溃。一个开发者。一行代码。成千上万的被盗邮件。”
他对影响做了“保守”估计,认为每个组织每天约有3000到15000封邮件被未经授权访问,总共影响了500个组织。这些邮件可能包含敏感业务数据集合,包括密码重置、发票、内部备忘录和其他私人通信。
由于恶意更改很小且在正常使用中几乎无法区分,它可能会长时间未被检测到。
包移除后风险依然存在
Koi安全研究人员在联系1.0.16版本的开发者(攻击者)澄清添加的“密送”字段时没有收到回复。相反,他们注意到该包在他们向npm报告之前就被迅速移除了。
然而,删除包不会从已运行的机器上移除它。虽然不清楚实际有多少开发者下载了该版本,但每周“平均1500次”下载中的每一次都受到了影响——这一因素可能促使攻击者迅速撤下该包。
为减轻损害,Koi建议立即移除postmark-mcp(版本1.0.16),轮换可能通过邮件泄露的凭据,并彻底审计所有正在使用的MCP。“这些MCP服务器以与AI助手本身相同的权限运行——完全邮件访问、数据库连接、API权限——然而它们不出现在任何资产清单中,跳过供应商风险评估,并绕过从DLP到邮件网关的每个安全控制,”Dardikman补充道。“当有人意识到他们的AI助手几个月来一直在悄悄地将邮件密送到外部服务器时,损害已经灾难性了。”
安全从业者自Claude的创建者Anthropic引入MCP以来一直对其持怀疑态度。随着时间的推移,该协议已经遇到了几个问题,Anthropic和Asana等供应商报告了其MCP实现中的关键缺陷。