文章总结: 该文档深度拆解了一个伪装成PerplexityAI的恶意Chrome扩展,该扩展利用ManifestV3高级API和域名仿冒实现搜索流量劫持。攻击者通过两跳代理模型记录用户查询并重定向,服务端代码直接打包在扩展内。文档提供了防御建议和KQL查询,强调企业应强制扩展允许列表并监测异常流量。 综合评分: 89 文章分类: 恶意软件,威胁情报,安全意识,实战经验,网络安全
当恶意扩展披上AI外衣:一次浏览器搜索劫持的深度拆解
幻泉之洲
2026年7月9日 10:03 北京
在小说阅读器读本章
去阅读
这不仅仅是一次普通的浏览器扩展分析。攻击者利用“Perplexity AI”的商标和视觉效果,配合精心设计的域名、Node.js服务器以及Manifest V3的高级特性,实现透明的搜索流量劫持。其手法之精细,暴露了当前浏览器在API权限控制与用户感知上的严重断层。
如果你最近刚好在Chrome商店搜过“Perplexity AI”,那你很可能与一个伪装得几乎以假乱真的恶意扩展擦肩而过。微软威胁情报团队最近捕获了这个名为“Search for perplexity ai”的扩展,它顶着AI助手的光环,干的却是偷窥、劫持和转卖你每一次键盘输入的勾当。
我们第一时间通过负责任披露机制向谷歌通报了情况。感谢谷歌的迅速响应,本文发布时该扩展已被下架。但这个插件的设计思路过于“精巧”,它绕过了很多人的常识判断,值得彻底拆解。
一眼看去,它真的“很AI”
这个扩展的ID是flkebkiofojicogddingbdmcmkpbplcd,基于Manifest Version 3(MV3)开发。它把自己伪装成Perplexity AI的官方搜索工具,甚至在Chrome商店页面和首次启动的引导页都用了高度相似的视觉元素。
▲ 图1:perplexity-ai[.]online的落地页,随处可见AI相关暗示
▲ 图2:扩展在Chrome商店的详情页
但真正的问题藏在一个域名里:perplexity-ai[.]online。这是一个典型的域名仿冒(typosquatting),和官方域perplexity[.]ai长得像,却又完全不同。攻击者赌的就是用户的视觉惯性——一般人看到“perplexity ai”两个单词,脑子里就已经把它和正经服务划了等号。
它不是简单的搜索改首页
传统浏览器劫持者通常只做一件事:把你的默认搜索引擎改成某个垃圾搜索页,然后靠广告分成赚钱。这个扩展要复杂得多。它的核心机制是一个“两跳代理”模型,而且每一跳都有明确的目的。
咱们先看它声明的权限组合,这在正规AI搜索工具里几乎不可能出现:
declarativeNetRequest(DNR):允许扩展动态重定向网络请求declarativeNetRequestFeedback:可以监控重定向规则是否生效declarativeNetRequestWithHostAccess:配合主机权限,完全控制特定域名的流量
▲ 图3:扩展的manifest.json配置(第一部分)
▲ 图4:扩展的manifest.json配置(续)
这些权限堆在一起,让扩展能做到这样一条链路:
- 你在地址栏输入搜索词或打字时产生的实时建议,浏览器都先发给 perplexity-ai[.]online(攻击者的服务器)。
- 攻击者的Node.js服务端(server.js)完整记录下你的查询词、HTTP头、IP、User-Agent,然后触发DNR规则。
- DNR规则在毫秒间把你的请求重定向到真正的搜索服务,比如perplexity[.]ai或google[.]com。
- 你看到了正常的搜索结果,完全不知道中间已经过了一道“收费站”。
更阴的地方在于 suggest_url 字段也被一起劫持了。这意味着你敲下的每一个字符——还没按回车的那种——都会实时传到攻击者服务器上。这已经超过了简单的搜索查询收集,进入了按键捕捉的范畴。
服务端代码直接打包进扩展
正常情况下,恶意扩展的操作者会把服务端藏得严严实实,不会主动暴露架构。但这个扩展直接把整套后台代码随扩展文件一起下发,我们从中看到了攻击者清晰的意图:
文件 server.js 是一个Node.js代理,它会:
- 记录所有收到的方法、URL、完整HTTP头
- 把搜索建议请求转发给suggestqueries.google[.]com
- 添加宽松的跨域头(Access-Control-Allow-Origin: *)
同时还有个 nginx.conf 配置文件,它做了几件事:
- 利用Let’s Encrypt为perplexity-ai[.]online配好SSL证书
- 把/search路径代理到谷歌的建议API
- 把CORS来源严格限定为 *.oda[.]digital——这直接暴露了运营者的基础设施
- 强制HTTP转HTTPS
这些代码的存在,彻底证实了查询拦截和日志记录不是“意外”,而是架构层面的设计目标。
模块化的劫持规则集
该扩展内置了多套规则文件,分别针对Perplexity、Google、Bing:
perplexity-rules.json(默认开启)bing-rules.jsongoogle-rules.json
攻击者通过后台Service Worker可以随时切换或组合这些规则。这意味着你可以在谷歌搜索界面里打字,数据照样路过攻击者的服务器。这种模块化设计让它具备了快速“转型”的能力——今天是AI搜索助手,明天可能就是更隐蔽的流量代理。
▲ 图5:安装扩展后弹出的引导页
安装完成后,扩展会自动打开 extension.tilda[.]ws/perplexityai 这个页面,用一套像模像样的新手引导流程来减轻用户对后续浏览器修改的戒心。这类手法在广告软件和搜索重定向活动中很常见,但配合AI品牌后成功率会高得多。
安全策略里藏了后手
它的内容安全策略(CSP)里有一项 wasm-unsafe-eval。在目前分析的2.2版本里我们并没有看到任何WebAssembly模块,但这把钥匙已经插在门上。如果攻击者后续想在不改配置的前提下加载Wasm模块,执行更底层的操作,现有的策略完全放行。这个细节说明对方在架构上留了足够的扩展空间。
防御上能做些什么
说实话,这类攻击对普通用户的辨别力要求实在太高了。你不能指望每个人都去对比域名、审查manifest文件。所以防御重心必须回到管理和监测层面。
- 在企业环境里,强制推行扩展允许列表。不要给终端用户自行安装陌生扩展的自由,尤其是与AI、生产力、美化主题相关的高危类别。
- 监测浏览器默认搜索设置的变化。如果某个扩展要求了
chrome_settings_overrides权限却跟搜索引擎毫无关系,直接标记。 - 关注指向非标准域名的出站流量。正常搜索流量不会经过域名里带连字符的第三方站点。如果有用户频繁访问
perplexity-ai[.]online这种域名,安全团队应该马上介入。 - 利用平台本身的能力。微软Edge内置了针对可疑扩展和搜索重定向的检测机制,开启后会根据风险信号限制扩展运行。Defender SmartScreen也会基于信誉拦截恶意域名的访问。
对于微软Defender客户,系统已经可以通过端点遥测和网络行为关联,检测到该扩展的标识符、相关域名连接以及异常网络模式。Security Copilot用户还可以直接运行预置的Promptbook,自动化完成事件调查和受影响用户分析。
一些高级狩猎查询
如果你需要在自己的环境中主动搜索痕迹,下面这两条KQL查询可以作为起点。记得把时间范围拉到30天。
DeviceFileEvents | where FileName has “flkebkiofojicogddingbdmcmkpbplcd” or FolderPath has “flkebkiofojicogddingbdmcmkpbplcd” | summarize Count = count() by DeviceName, DeviceId, FolderPath
DeviceNetworkEvents | where RemoteUrl has “perplexity-ai.online” | summarize Count = count() by DeviceName, DeviceId, InitiatingProcessAccountName, RemoteUrl
这次事件说明了什么
浏览器搜索劫持不是新东西,但这次事件让外界看到攻击者在两个维度上的进化:一是对MV3高级API的娴熟运用,二是对AI热点的社会工程化包装。它不靠漏洞,不靠零日,纯粹用系统允许的能力加上人性弱点,就完成了静默的数据掠夺。
这个扩展已经被下架,但类似的设计模板可能早已在其他地方复现。攻击者之所以愿意花精力搭一套Node.js代理、配置多套规则集,说明这种模式能带来足够的利润——无论是用户画像、广告欺诈还是更下游的犯罪用途。
我们没法期待所有开发者都恪守底线,但至少我们可以让浏览器权限的授予不再那么“一键放行”。当“AI助手”已经成为数字世界的新信任锚点,围绕它的围猎只会更频繁。
参考资料
[1] https://www.microsoft.com/en-us/security/blog/2026/06/29/chromium-extension-uses-airelated-branding-redirect-browser-search/
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:幻泉之洲 《当恶意扩展披上AI外衣:一次浏览器搜索劫持的深度拆解》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论