一批打着“学校Wi-Fi绕过”幌子的npm包,实际在访客浏览器里埋下了分布式拒绝服务攻击的引擎。这个操作把自己包装成无害的辅导品牌网络代理,让学⽣能访问被屏蔽的网站和游戏,后台却静悄悄地加载恶意代码。
和常见的恶意npm包不同,这次攻击不需要在安装阶段感染开发者的电脑。这些包充当的是浏览器端代理页面的分发系统。任何打开托管站点的人,都可能遇到弹窗广告、追踪脚本,以及在一段关键时期里活跃的流量洪水代码。JFrog和SafeDep的研究人员分别识别出了这个活动在不同阶段的面貌。
![]()
SafeDep在五月份率先记录了141个相关包,定性为广告软件托管性质的滥用。JFrog随后对应用进行了反混淆处理,发现了远程代码加载功能,以及五月底运作过的DDoS模块。JFrog在分享给网络安全新闻的一份报告里指出,这个发现表明,看似实用的绕过站点,也能给学校、工作场所和普通用户带来风险。
运营者利用了npm广泛的可用性来分发静态网页资源,接着通过不断变化的外部脚本,在访客到达之后更改代理的实际行为。这套活动使用的包名和页面,关联到Lucide Proxy、Riverbend Tutoring和Northstar Tutoring这几个品牌。可见的服务确实按宣传那样运作——通过代理来绕过内容限制进行浏览。这种正常行为让伴随它运行的脚本更容易被掩盖。
JFrog称第一波攻击始于5月27日,随后在7月8日出现了另一波,包的总数达到148个。此外,不少包已经被移除,但在研究报告发布时,仍有一些处于可获取状态。SafeDep早期的分析没有发现安装钩子或凭证窃取组件。这些包只包含网页文件,可以在npm支持的基础设施上托管。
一个服务工作线程负责路由代理流量,并注入能够捕获导航事件的代码;而广告脚本则在用户交互之后打开弹窗页面。这个区别之所以重要,是因为主要受害者未必是把依赖项加入项目的开发者。一个仅仅访问了已部署代理页面的学生,可能在不知情的情况下贡献出浏览器资源。这种做法也让下架操作更难执行,因为相同的基础文件可以复制到大量不同的包名和托管位置。
JFrog的分析发现了一个经过混淆的JavaScript捆绑包,它在代理界面出现之前加载了两个隐藏模块。其中一个模块从可变动的GitHub分支拉取远程托管的脚本,且没有做完整性校验。这让运营者无需重新发布npm包,就能更改向每个访客推送的代码。一个已经被存档的第二阶段载荷,持续向某个目标教育站点发送大量的POST请求。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.