朝鲜 WaterPlum 假招聘攻击:感染超 3 万台设备,窃取 1071 万美元加密货币

日本、美国、澳大利亚与德国的七家机构于 2026 年 9 月 18 日联合发布安全公告,指认朝鲜背景的攻击组织 WaterPlum(安全业界通常称其为 Contagious Interview)通过伪装招聘人员、向开发者投递带毒 npm 包长期实施攻击。公告披露的统计区间为 2025 年 12 月至 2026 年 7 月,期间该组织在 100 多个国家感染了至少 3 万台设备,从 7000 多个加密货币钱包中窃取余额或凭证,流向朝鲜的加密资产价值至少 1.7 亿日元,约合 1071 万美元。

事件概述

署名机构包括日本警察厅、日本国家网络安全统括室、美国联邦调查局、美国国防部网络犯罪中心、澳大利亚信号局网络安全中心,以及德国联邦情报局与联邦宪法保卫局。七家机构共同完成公开归因,意味着结论经过多国机构交叉验证。按照日本警察厅与联邦调查局的评估,WaterPlum 攻击者与一部分朝鲜 IT 工作者同属朝鲜劳动党中央委员会军需工业部下属的第 313 总局。公告还给出一个对照数字:朝鲜 IT 工作者的安置计划年收入约 5 亿美元,接近本次恶意软件所得的 50 倍。被窃取的加密资产只是这套体系的一小部分,真正价值在于被感染的机器——开发者一旦入职,攻击者便已在雇主网络内部握有据点。

技术细节:把招聘流程本身变成攻击面

攻击不依赖钱包软件或浏览器漏洞,起点是一条看起来正常的招聘消息。攻击者冒充人工智能、加密货币与 NFT 领域的真实公司招聘方,通过社交网络、招聘网站与自由职业平台接触开发者,流程看似正规。公告提到攻击者在部分面试中使用 AI 换脸软件,随后以网络问题为由关闭摄像头,并要求应聘者也关闭摄像头。钓鱼位置在技术面试或编程作业环节:攻击者要求候选人下载执行托管在常见开发平台上的文件,借口要么是作业一部分,要么是修复视频会议工具故障。代码执行的那一刻,设备即被打开。公告点名了五个可在被篡改 npm 包中找到的恶意软件家族:

  • BeaverTail:以 JavaScript 编写、藏在 npm 包内的恶意程序;
  • InvisibleFerret:Python 后门;
  • OtterCookie / OtterCandy:兼具远程访问木马与信息窃取功能,后者叠加更多远程控制能力;
  • StoatWaffle:模块化 Node.js 恶意软件,把加载器、凭证窃取器与远程访问木马合为一体。

StoatWaffle 的投递方式最值得注意:它伪装成区块链主题的项目文件夹,其中放置被篡改的 Visual Studio Code 配置文件,开发者只要打开该文件夹并选择信任,代码就会自行执行。感染后,攻击者采集浏览器密码、剪贴板、键盘输入与截图,并以加密钱包私钥、助记词和文档为主要目标——助记词输入钱包时会在剪贴板短暂停留,这正是窃取链路的着力点。

影响评估

1071 万美元分摊到 7000 多个钱包,平均每个约 1500 美元,多数感染并未带来可直接变现的资产,但风险被低估:被感染笔记本的价值在面试结束后仍在。开发者入职后,攻击者已具备进入雇主网络的条件,相关访问可能被用于知识产权窃取与间谍活动。日本警察厅通报,日方在日本境内首次捣毁了一个为朝鲜 IT 工作者提供支撑的笔记本农场。

修复建议

  • 隔离两类机器:运行他人代码的机器与保存密钥的机器应严格分开,不要在同设备上执行来路不明代码并存放钱包凭证;
  • 核实招聘方真实性:对主动上门的招聘接触核实域名与公司信息,警惕面试中突然关闭摄像头、坚持用加密货币收款等信号;
  • 企业侧收紧边界:对应聘者与外包人员只开放岗位必需的系统,并对开发机凭据与 CI/CD 密钥做最小权限改造。

参考来源