文章总结: 文档剖析了Chrome扩展QuickLens从合法工具沦为恶意软件的过程。攻击者通过所有权变更发布恶意更新,利用declarativeNetRequest剥离安全标头,并借助像素技巧实现C2驱动的隐蔽脚本注入。该案例揭示了浏览器扩展供应链的安全隐患,建议企业监控扩展权限变更与运行时行为以防御此类攻击。 综合评分: 85 文章分类: 恶意软件,供应链安全,威胁情报,安全建设
Pixel Perfect 浏览器扩展程序被利用进行隐蔽脚本注入和安全标头剥离
原创
网络安全9527 网络安全9527
安全圈的那点事儿
2026年3月2日 14:43 北京
一款名为“QuickLens – 使用 Google Lens 的搜索屏幕”的热门 Chrome 插件,悄然从一个合法的生产力工具演变成一个功能齐全的远程代码执行平台,滥用浏览器信任、安全标头和静默自动更新。
最初只是一个简单的 Google Lens 封装程序,最终却演变成一场由 C2 驱动的隐蔽攻击,能够将任意脚本注入受害者访问的任何网站。
其早期版本使用简单的后台服务工作线程进行窗口和捕获管理,并使用内容脚本进行 UI 叠加,网络调用仅限于 Google 域,并且没有混淆或可疑逻辑。
该扩展程序的权限范围广泛但易于理解(activeTab、脚本、屏幕截图相关访问权限以及在所有页面上注入的内容脚本),对于其功能而言似乎很正常。
QuickLens 最初提供屏幕上的 Google Lens 搜索,具有屏幕截图、区域选择、YouTube 帧查找和亚马逊产品发现等功能,最终用户数量达到约 7,000 人,甚至在 Chrome 网上应用商店获得了“精选”徽章。
最初的开发者身份,以及多个合法的扩展程序,几乎没有任何异常迹象,直到所有权悄然变更,一个原本用于盈利的代码库一夜之间变成了攻击平台。
所有权变更和恶意 5.8 版本发布
QuickLens 发布几天后就出现在 ExtensionHub 上出售,这是一个开发者出售扩展程序的市场,其中包含用户和评论,这种模式现在在基于扩展程序的供应链攻击中很常见。
2026 年 2 月 1 日,控制权转移到 [email protected]下的“LLC Quick Lens” ,并在一个几乎无法使用的域名上发布了新的隐私政策,这表明该实体很可能是一个一次性实体。
2026 年 2 月 17 日,版本 5.8 发布,其目的截然不同,它添加了 declarativeNetRequestWithHostAccess 和 webRequest 权限、一个新的 rules.json 文件以及一个 C2 感知的 background.js 文件,而这些在原本无害的 5.7 版本中从未存在过。
谷歌随后以“违反政策”为由将该扩展程序从应用商店下架,但其背后的更改表明,这是蓄意绕过浏览器防御机制,并通过访问用户浏览会话来牟利。
新引入的 rules.json 利用 Chrome 的 declarativeNetRequest API 来修改 HTTP 响应,并从每个页面、框架和 XHR 请求中删除关键的安全标头。
该规则集移除了 Content-Security-Policy、CSP-Report-Only、X-Frame-Options、旧版 CSP 标头和 X-XSS-Protection,从而有效地消除了浏览器强制执行的针对内联脚本执行、点击劫持和一些反射型 XSS 防御的保护。
通过全局清除 CSP,攻击者可以确保其后续的基于加载时的内联有效载荷即使在通常会阻止此类构造的加固网站上也能执行。
结合注入到各处的内容脚本,这使得扩展程序可以自由地发出跨域请求,并以原始网站所有者从未设想过的方式与页面内容进行交互。
基于像素的脚本注入
更新后的后台脚本引入了一个 C2 客户端,该客户端与 api.extensionanalyticspro.top 通信,扩展程序在其中注册一个持久的 UUID,通过 Cloudflare 的 1.1.1.1 跟踪端点对国家/地区进行指纹识别,收集浏览器/操作系统数据,并定期轮询 /extensions/callback 以获取指令。
开发者“[email protected] ”甚至还有许多其他以他名义发布的扩展程序(包括最近发布的类似“Google Lens”)。
服务器返回一个JavaScript 字符串数组,这些字符串以 cached-agents-data 的形式存储在本地存储中,webRequest 处理程序会监视 /finish 端点,以便在操作员需要立即更改时触发按需刷新。
执行发生在 content.js 内部,使用了一种巧妙的像素技巧:对于每个有效负载字符串,该扩展程序创建一个隐藏的 1×1 GIF 元素,并将 C2 提供的 JavaScript 分配给 onload 属性,然后再以编程方式触发加载事件。
当图像“加载”时,内联 onload 处理程序会在页面上下文中执行,从而允许执行任意脚本,这些脚本可以读取会话数据、捕获表单输入、抓取页面内容,并通过浏览器上下文本身进行数据外泄。
对于防御者而言,这凸显了将浏览器扩展程序视为企业供应链一部分的必要性:监控所有权变更,标记新添加的网络和声明式网络请求权限,并使用运行时行为分析来检测隐蔽的脚本注入模式。
QuickLens 事件表明,一个高评分的精选扩展程序只需一次更新即可变成浏览器驻留的 C2 客户端,将 7,000 个合法安装变成攻击面,而无需任何新的下载。
由于实际的恶意代码是在运行时从 C2 服务器交付的,并且永远不会驻留在打包的源代码中,因此静态存储审查和基本权限监控不太可能看到“图像元素助手”以及类似 extensionanalyticspro 和 safetyProcessElement 这样的遥测名称之外的内容。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:安全圈的那点事儿 网络安全9527 网络安全9527《Pixel Perfect 浏览器扩展程序被利用进行隐蔽脚本注入和安全标头剥离》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论