浏览器扩展将近百万台浏览器转变为网页抓取机器人
扩展程序将未知网站加载到隐形窗口中。这能出什么问题呢?

一位研究人员表示,安装在近百万台设备上的浏览器扩展程序正在覆盖关键安全防护机制,将浏览器转变为代表付费服务抓取网站数据的引擎。
SecurityAnnex 的约翰·塔克纳报告称,这 245 个适用于 Chrome、Firefox 和 Edge 的扩展程序已累计下载近 90.9 万次。这些扩展功能各异,包括管理书签剪贴板、增强扬声器音量、生成随机数等。它们的共同点是都嵌入了 MellowTel-js——一个允许开发者通过扩展盈利的开源 JavaScript 库。
故意削弱浏览保护功能
塔克纳与批评者指出,这种盈利模式是通过浏览器扩展程序为付费客户(包括广告商)抓取网站数据实现的。塔克纳在发现 MellowTel 与自称"全球最可靠且经济高效的网络爬虫 API"公司 Olostep 存在密切关联后得出该结论。Olostep 宣称其服务"能规避所有机器人检测,可在数分钟内并行处理 10 万次请求"。付费客户提交需要访问特定网页的浏览器位置后,Olostep 便利用其安装扩展程序的用户群执行请求。
"这与我们观察 MellowTel 库运行时看到的抓取指令极为相似,"塔克纳分析 MellowTel 代码后写道,"我们有充分理由认为 Olostep 的抓取请求会被分发给所有运行 MellowTel 库的活跃扩展程序。"
MellowTel 创始人表示 ,该库的目的是"共享[用户]带宽(不植入联盟链接、无关广告或收集个人数据)"。他进一步说明"企业付费使用流量的主要原因是需要以可靠且经济高效的方式获取网站公开数据"。创始人称扩展开发者可获得 55%收益,剩余部分归 MellowTel 所有。
尽管有这些保证,塔克纳表示,整合了 MellowTel 的扩展程序仍对安装用户构成风险。其中一个原因是 MellowTel 会触发扩展激活一个 WebSocket 连接至亚马逊 AWS 服务器,该服务器会收集用户的地理位置、可用带宽、心跳信号及扩展使用状态。除侵犯隐私外,该 WebSocket 还会在当前浏览页面注入一个隐藏的 iframe 框架,该框架会连接至亚马逊 AWS 服务器指定的网站列表。普通终端用户根本无法察觉这个隐形 iframe 框架正在加载哪些网站。
塔克纳写道:
难道不应该设立防护机制阻止这种行为吗?为何能如此轻易地在任意网站内加载非预期内容?
通常情况下,确实存在防护机制来阻止这类行为。常见的网络服务器安全头信息(如内容安全策略和 X-Frame-Options)本应防止此类情况发生。但请注意,该库曾要求若未声明则需在清单中添加 declarativeNetRequest 权限和访问权限?这些权限允许在网络请求和响应过程中进行修改。该库会动态调整规则,先移除网络服务器响应中的安全头信息,随后声称在网页加载完成后重新添加这些头信息。
"这种对所有网页浏览行为的弱化,可能使用户暴露于跨站脚本等攻击之下——而这些攻击在正常情况下本应被有效阻止,"塔克纳继续写道。"您的用户不仅无意间沦为爬虫工具,他们真实的网页浏览行为也变得更加脆弱。"
MellowTel 的问题还在于终端用户对其打开的网站一无所知。这意味着用户必须完全信任 MellowTel 会对每个访问网站的安全性和可信度进行审查。而显然,一旦某个网站遭到入侵,这种安全性和可信度就会瞬间瓦解。对于严格限制用户可运行代码类型及访问网站的企业网络而言,MellowTel 同样构成重大风险。
联系 MellowTel 代表的尝试未获成功。
Tuckner 的发现让人联想到 2019 年的一项分析,该分析发现安装在 400 万台浏览器上的扩展程序会收集用户在网页上的所有操作,并与 Nacho Analytics 的客户共享这些数据——在 Ars 曝光该业务后不久,这家公司就停止了运营。
在这场数据收集狂欢中,被席卷的部分数据包括:托管在 Nest 上的监控视频、纳税申报表、账单发票、商业文档、发布到或托管在 Microsoft OneDrive 和 Intuit.com 上的演示幻灯片、新购汽车的车辆识别号及买家姓名地址、患者姓名及其就诊医生信息、托管在 Priceline/Booking.com 和航空公司网站上的旅行行程、Facebook Messenger 附件和照片(即使照片设置为私密状态)。这张监控大网还收集了特斯拉、蓝色起源、安进、默克、辉瑞、罗氏等数十家公司的专有信息。
塔克纳在周三的一封电子邮件中表示,受影响扩展程序的最新状态为:
- 在已知的 45 个 Chrome 扩展中,已有 12 个停止运作。部分扩展因明确含有恶意软件而被下架,另一些则移除了相关代码库。
- 在 129 个内置该库的 Edge 扩展中,目前有 8 个已停止运行。
- 在 71 个受影响的 Firefox 扩展中,已有两个停止运行。
部分被停用的扩展程序因明确含有恶意软件而被移除,其他扩展则在近期更新中移除了相关库。塔克纳发现的完整扩展列表可在此查看 。