恶意 npm 包伪装成 Twilio 漏洞赏金探测工具,可外泄凭据
- 浏览次数 2010
- 喜欢 0
网络安全研究人员披露了一个名为 "tw-pkgprobe-7731" 的恶意 npm 包的细节,它伪装成一个针对将 Twilio 集成到其应用中的开发者的安全工具,同时暗中试图收集敏感数据。
该包名为 "tw-pkgprobe-7731",于 2026 年 8 月中旬由一个名为 "twdepprobe7731" 的 npm 账户首次上传到 npm 注册表。同一天,该包共发布了 11 个版本,发布时间紧凑,跨度约 45 分钟。截至本文撰写时,该 npm 用户账户已不存在。
"tw-pkgprobe-7731 的第一个版本伪装成一个经授权的安全研究探测工具,"ReversingLabs 研究员 Lucija Valentić 在今日发布的一份报告中表示。
"包内的注释将其描述为一个 '经授权的漏洞赏金研究探测工具(Twilio HackerOne 项目)',它 '仅在 Twilio 的无服务器打包沙箱内运行',并 '收集本地进程/主机上下文并将其写在其自身旁边;无破坏性操作'。"
执行时,该包会首先检查当前环境是否为 Twilio 开发者环境。如果不是,它会立即退出。
如果检查通过,该恶意软件会继续提取环境变量以及系统详情,如挂载点、临时文件夹和各种配置。收集到的信息随后通过一个 webhook 外泄。
该 npm 包的后续版本(即 1.0.1、1.0.2 和 1.0.3 版本)被发现将重点放在使用 Twilio API 的开发者身上,专门搜索与特定 Twilio 账户 String Identifier (SID) 相关的文件夹。最重要的是,如果存在一个具有特定 SID 名称的文件夹,它会避免采取任何行动。
"否则,如果找到了匹配的目标文件夹,它会扫描已安装的 npm 包和 node_modules,以注入一个自定义的 npm PoC 包,在其中创建 package.json 和 index.js,"ReversingLabs 解释道。
据称,1.0.4 版本引入了一项新增能力,可外泄 process.env.ACCOUNT_SID 和 process.env.AUTH_TOKEN,从而有效危害受害者的 Twilio 凭据,并可能允许威胁行为者授权计费并发起通信。
然而,最后三个版本(即 1.0.8、1.1.0 和 1.1.1)"回归到了 1.0.0 版本中所见的该包的基本探测配置",舍弃了此前迭代中加入的恶意功能。
此外,最后两个版本被发现通过探测各种 Twilio 相关主机来开展 OSINT 收集,例如 support-api.us1.twilio[.]com、kafka-ui.au1.twilio[.]com 和 litellm.ai-services.corp.twilio[.]com,甚至获取位于 "169.254.169[.]254/latest/meta-data/" 的 AWS 元数据。
鉴于这些不寻常的方向反转,其最终目标尚不清楚,也不清楚它是否作为漏洞赏金计划的一部分发布。不过,ReversingLabs 表示,这些包版本并未遵循 Twilio 在 HackerOne 上列出的漏洞搜寻指南。
"换句话说,这些包明显违反了 Twilio 制定的基本安全研究指南,这表明这些包具有恶意意图,"Valentić 表示。"虽然该行动背后的威胁行为者试图在某些发布版本中,用看似无害的功能和代码来掩盖恶意功能,但他们并未真正努力去混淆恶意代码或隐藏其活动。
"没有混淆、没有域名仿冒,也没有试图让发布用的 npm 账户看起来合法——这些都是我们在以往行动中经常看到的策略。这表明,针对 Twilio 开发者的这一恶意行动是由一个不那么老练的威胁行为者所为。"