伪造的 WhatsApp API 包在 npm 上窃取消息、联系人和登录令牌

网络安全研究人员披露了一款新出现的 npm 仓库恶意包的细节,该包表现为完整的 WhatsApp API,但同时具备拦截所有消息并将攻击者的设备链接到受害者 WhatsApp 账户的功能。

该包名为

lotusbail
,自 2025 年 5 月由用户 “seiren_primrose” 首次上传至注册表后,累计下载次数已超过 56,000 次。其中最近一周有 711 次下载。该库截至撰写时仍可下载。

在功能工具的幌子下,恶意代码会 “窃取您的 WhatsApp 凭证、拦截每一条消息、收集您的联系人、植入持久后门,并在发送到威胁行为者服务器之前对所有数据进行加密”,Koi Security 研究员 Tuval Admoni 在本周末发布的报告中如此描述。

具体而言,恶意包能够捕获认证令牌和会话密钥、消息历史、包含电话号码的联系人列表以及媒体文件和文档。更重要的是,该库的实现参考了

@whiskeysockets/baileys
,这是一款用于与 WhatsApp Web API 交互的合法基于 WebSocket 的 TypeScript 库。

攻击通过一个恶意的 WebSocket 包装层实现,所有认证信息和消息都会经过该层,从而完成凭证和聊天记录的捕获。被盗数据以加密形式发送至攻击者控制的 URL。

攻击并未止步于此,恶意包还隐藏了劫持设备链接过程的功能,利用硬编码的配对码为攻击者在受害者的 WhatsApp 账户中创建持久访问。

“当您使用该库进行认证时,您不仅在链接自己的应用——还在链接威胁行为者的设备,”Admoni 说道。“他们对您的 WhatsApp 账户拥有完整且持久的访问,而您根本不知道他们的存在。”

一旦攻击者的设备与目标的 WhatsApp 账户关联,不仅可以持续访问联系人和对话,还能在恶意包被系统卸载后仍保持持久访问,因为只要攻击者的设备保持链接,直至用户手动在应用设置中解除关联。

Koi Security 的 Idan Dardikman 告诉 The Hacker News,恶意行为在开发者使用该库连接 WhatsApp 时被触发。

“恶意代码包装了 WebSocket 客户端,所以一旦您完成认证并开始发送/接收消息,拦截即刻生效,”Dardikman 解释道。“无需任何特殊函数,普通 API 使用即可。后门配对码也在认证流程中激活——只要您将应用连接到 WhatsApp,攻击者的设备即被链接。”

此外,

lotusbail
还配备了反调试功能,当检测到调试工具时会进入无限循环陷阱,使执行冻结。

“供应链攻击并没有放慢脚步——反而更加成熟,”Koi 表示。“传统安全无法捕获此类威胁。静态分析只会看到正常工作的 WhatsApp 代码并通过审核。声誉系统看到 56,000 次下载并给予信任。恶意代码正隐藏在‘此代码可运行’与‘此代码仅做声称的事’之间的灰色地带。”

恶意 NuGet 包针对加密生态系统

与此同时,ReversingLabs 公开了 14 个伪装成 Nethereum(用于以太坊去中心化区块链的 .NET 集成库)以及其他加密相关工具的恶意 NuGet 包细节。这些包会在转账金额超过 100 美元时将交易资金重定向至攻击者控制的钱包,或窃取私钥和助记词。

以下是这些包的名称(共计 14 条),它们分别由八个不同账户发布:

  • binance.csharp
  • bitcoincore
  • bybitapi.net
  • coinbase.net.api
  • googleads.api
  • nbitcoin.unified
  • nethereumnet
  • nethereumunified
  • netherеum.all
  • solananet
  • solnetall
  • solnetall.net
  • solnetplus
  • solnetunified

这些包采用了多种技术手段以误导用户产生安全信任感,包括夸大下载量、在短时间内发布大量新版本,以营造持续维护的假象。该攻击活动可追溯至 2025 年 7 月。

恶意功能仅在开发者安装这些包并在其他应用中调用特定函数时触发。其中最值得关注的是 GoogleAds.API,它专注于窃取 Google Ads OAuth 信息,而非泄露钱包数据。

“这些信息极其敏感,因为它们允许对 Google Ads 账户进行完整的编程访问,若泄露,攻击者可冒充受害者的广告客户,读取所有广告活动和绩效数据,创建或修改广告,甚至在恶意或欺诈性活动中无限制地消耗资金,”ReversingLabs 说明。