恶意npm包通过一行代码窃取Postmark邮件
一款冒充Postmark MCP(模型上下文协议)服务器的假冒npm包,通过添加一行秘密将外发邮件复制到攻击者控制地址的代码,每天静默窃取了可能数千封邮件。
在上周末的一篇博客文章中,Postmark警告用户关于npm上的"postmark-mcp"包冒充该邮件递送服务并窃取用户邮件的行为。
“我们希望非常明确:Postmark与此软件包或恶意活动绝对没有任何关系,“该公司于9月25日表示。“情况是这样的:恶意行为者在npm上创建了一个冒充我们名称的虚假软件包,通过15个版本建立信任,然后在1.0.16版本中添加了一个后门,秘密将邮件密送(BCC)到外部服务器。”
影响范围和应对措施
如果您下载了此假冒软件包,Postmark建议立即移除它,检查邮件日志中是否有可疑活动,并轮换通过邮件发送的任何凭据。
虽然我们不知道有多少组织受到此安全事件影响,但Postmark在其网站上宣称拥有"数千家"客户,包括宜家、Asana、Minecraft和1Password。
发现此恶意软件包的Koi Security表示,该包在一周内被下载约1500次,集成到数百个开发者工作流中,在这位巴黎开发者移除恶意软件包之前,可能每天窃取数千封邮件。
与此同时,它可能暴露了各种敏感邮件,包括密码重置、多因素认证代码、发票、财务详情、机密商业文件和客户信息。
MCP生态系统的安全警示
“postmark-mcp后门不仅仅关乎一个恶意开发者或每周1500次受感染的安装,“Koi Security联合创始人兼CTO Idan Dardikman上周表示。“这是对MCP生态系统本身的警告。”
Postmark的MCP服务器——发布在GitHub上而非npm——允许企业的AI助手发送和管理邮件。它使用MCP实现这一功能,这是一个允许AI系统连接到外部工具和数据源的开放协议。此外,正如研究人员自去年推出以来反复证明的那样,它也是名副其实的安全威胁雷区。
“我们将上帝模式权限交给了我们不了解、无法验证且没有理由信任的人构建的工具,“Dardikman写道。“这些不仅仅是npm软件包——它们是直接进入我们最敏感操作的管道,由AI助手自动化执行,这些助手将毫无疑问地使用它们数千次。”
攻击手法分析
看起来,开发者从Postmark MCP服务器的GitHub仓库获取了合法代码,添加了将全部邮件密送至"phan@giftshop[.]club"的代码行,并以"postmark-mcp"的名称发布到npm,以模仿官方GitHub仓库。
Dardikman估计,在每周1500次下载中,约20%正在使用,这一数字约为300个组织使用受感染的MCP服务器每天发送10至50封邮件。
“我们谈论的是每天3000至15000封邮件直接流向giftshop.club,“他写道。“而真正糟糕的部分是?开发者没有黑客任何东西。没有利用零日漏洞。没有使用复杂的攻击向量。我们实际上把钥匙交给了他,说’给,用完全权限运行这段代码’,然后让我们的AI助手每天使用它数百次。”
除了突出MCP服务器固有的安全风险外,这也是另一个例证,说明毒化npm软件包——或者任何开源软件包仓库——是多么容易,以及其进行大规模供应链攻击的潜力。
仅本月,我们就看到了针对npm软件包维护者的钓鱼攻击和数百个被窃密恶意软件感染的软件包。
作为回应,拥有JavaScript软件包npm注册表的GitHub表示正在加强安全措施。这包括缩短安全令牌的生命周期,并"在不久的将来"默认切换到强制双因素认证的本地发布。