安全研究机构 OX Security 于 2026 年 9 月披露代号 PhantomSub 的供应链活动:101 个 npm 包伪装成开源 WhatsApp 自动化库 Baileys 的修改版,在开发者建立已认证会话后,静默把受害者的 WhatsApp 账号订阅到发布者控制的群组与频道。这批包的累计下载量约 49 万次,其中过去 30 天内约 11.6 万次。
事件概述
被点名的包包括 ourin-baileys、neuralwhatsapp、@nexustechpro/baileys、@badzz88/baileys、cloud-baileys、my-auto-follow 等。研究者 Nir Zadok、Moshe Siman Tov Bustan 与 Vitalii Chepurko 指出,恶意逻辑只有在已认证会话建立之后才会激活,因此单纯下载并不足以触发行为。截至 9 月 28 日,npm 仅下架了其中 16 个包。
技术细节
研究者将其归纳为三个变体,区别只在目标频道列表的存放方式:
- 变体一(19 个包):运行时从 GitHub 拉取频道 ID,使运营方无需发新版本即可更换目标;
- 变体二(60 个包):把频道 ID 以明文硬编码在源码中;
- 变体三(14 个包):把频道 ID 以编码、混淆形式嵌入源码。
三个变体殊途同归:调用安装者已认证的 WhatsApp 会话去关注或加入发布者控制的频道,把开发者的账号变成攻击者的“粉丝”。订阅后通知被关闭,进一步掩盖了非自愿加群的事实。研究者还发现多个包共用同一批频道 ID、同一份远程频道列表与同一批 GitHub 账号,说明不同包名与发布者背后存在共同受益方。
这种手法并非孤例。2026 年 8 月 SafeDep 已通报有 Baileys 分支偷偷让安装者的账号关注指定频道,并往机器人发送的图片与视频中注入作者广告地址;Xygeni 安全研究团队也披露了名为 @dappaoffc/baileys-mod 的变体,同样把已认证会话订阅到攻击者控制的新闻频道。
影响评估
本次活动的特殊性在于,攻击者并不窃取密钥、不植入挖矿程序、也不勒索数据,而是把开发者信任变现为“非自愿的受众规模”。被识别出的频道多为小型机器人脚本、游戏资源与刷量服务销售频道,以印尼地区为主,粉丝量被当作可信度背书。其中一个群组推广 Mobile Legends: Bang Bang、TikTok 等手游与应用账号,帖子中出现与印尼企业 WhatsApp 账号关联的手机号。
这类行为恰好落在常规安全工具的盲区:静态分析比对已知恶意签名,依赖扫描比对已知漏洞,而一个包“合法地调用 Baileys API,同时顺手加入一个频道”,若不审计运行时行为就与设计功能无法区分。
修复建议
立即动作:执行 npm ls baileys 核对依赖树,凡命中上述名单的包一律移除并替换为上游正版 Baileys;若确认执行过可疑包,登出全部 WhatsApp Web 会话并重新认证,使对方可能持久化的令牌失效;逐项检查关联账号的群组与频道订阅,退出陌生群组。检测侧可针对这批恶意包配置拦截规则。
长期加固:为包作用域设白名单,禁止安装未经验证发布者的包;对依赖执行运行时沙箱隔离,并在 CI 中引入持续监控;使用 npm ci 配合锁定文件与完整性校验固定依赖;建立分支审查制度,任何流行项目的 fork 在采纳前须与上游做人工差异比对,重点排查新增的网络请求、外部 ID 拉取与会话操纵代码。此外,避免让需要接入个人 WhatsApp 会话的第三方库在环境中运行。