IconBurst事件:NPM 供应链攻击影响数百个网站和应用程序
事件简述
ReversingLabs 研究人员最近披露了一起影响广泛的 NPM 软件供应链攻击事件。最早可以追溯到 2021年12月,攻击者投放了几十个包含混淆加密Javascript 代码的恶意 NPM 模块,最终导致数百个下游桌面应用和网站被破坏。
这些恶意模块使用 Javascript 混淆技术 绕过代码检测,从使用部署了恶意模块的应用程序或网站的个人窃取表单数据(如PUBG的登陆账号数据)。
NPM介绍
NPM 是JavaScript 运行时 Node.js 的默认程序包管理器,主要由两个部分组成:
-
用于发布和下载程序包的 CLI(命令行工具)
-
托管 JavaScript 程序包的在线存储库,任何人都可以在仓库中上传 NPM 模块
攻击手法
事件中攻击者使用 蓄意错误拼写(typo-squatting) 的攻击手法来模仿著名开发者的 NPM 软件模块,如 gumbrellajs 和 ionic.io 的 NPM 模块。
蓄意错误拼写 是一种攻击者利用公共存储库来投放恶意软件模块的技术,这些恶意模块的名称一般与合法的包名相似或与常见的合法包名拼写错误的形式相同。
攻击影响
如果开发者被非常相似的恶意 NPM 模块命名欺骗,用户的开发环境将会被添加恶意模块,这些恶意模块目的是窃取嵌入表单(包括但不限于用于登录的表单)的数据到他们的应用程序或网站。
例如,本次供应链攻击中被投放的一个恶意 NPM 模块 ((icon-package)有超过 17000 次下载,其目的是将序列化的表单数据泄露到几个攻击者控制的域名。
用于窃取数据的域名之间较为相似,表明攻击事件涉及的包由同一个攻击者的控制。
总结
尽管 reveringlabs 团队在 2022年7月1日 联系了NPM 安全团队并报告了他们的发现,但是一些恶意模块仍然可以在NPM 官方和镜像站的注册表中发现。
攻击者投放的 ajax-libs 目前仍可以在 NPM 上下载,本周下载数量为 556次。
目前唯一可以用来评估攻击事件影响的指标是每个恶意 NPM 模块被安装的次数,而 ReversingLabs 的统计数据相当惊人,reveringlabs 团队发现的NPM模块总共被下载了 2.7万多次。
发现的恶意软件包可能被数百个,甚至数千个下游移动和桌面应用程序以及网站使用。捆绑在 NPM 模块中的恶意代码在数量未知的移动和桌面应用程序以及网页中运行,收集了大量的用户数据。
附录
reveringlabs 研究人员公开了一份恶意软件包的列表,恶意软件模块如下
ionic-iconionicioicon-packageajax-libsumbrellaksajax-libraryiconion-packagepackage-sidrkbrstoreicons-packagesubekpackage-showpackage-iconicons-packagesionicon-packageicons-packpack-iconsionicons-packpackage-ioniconspackage-ioniconbase64-javascriptionicons-jsionicons-json footericonroar-01roar-02wkwk100swiper-bundieajax-libzswiper-bundleatez(本文转自:https://blog.reversinglabs.com/blog/iconburst-npm-software-supply-chain-attack
-grabs-data-from-apps-websites)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本