引言
Koi 的研究人员发现了一个名为 ShadyPanda 的威胁组织——他们发起并维持了一场持续七年的浏览器扩展活动,已感染约 430 万名 Chrome 与 Edge 用户。
我们的调查揭示了两个仍然活跃的行动:
- 一个约 30 万用户的 RCE(远程代码执行)后门:五个扩展在多年合法运营后于 2024 年中期被武器化,其中包括曾被标记为“Featured”(精选)和“Verified”(已验证)的 Clean Master。这些扩展每小时都会运行远程代码执行框架——下载并执行具有完整浏览器访问权限的任意 JavaScript。它们监控每次网站访问,窃取经过加密的浏览历史,并收集完整的浏览器指纹。
- 一个约 400 万用户的间谍软件行动:来自同一发行商的另外五个扩展(其中 WeTab 单独安装量约 300 万)正在积极收集每次访问的 URL、搜索查询与鼠标点击等数据,并将这些数据传回位于中国的服务器。
ShadyPanda 的一些扩展曾被 Google 推荐和验证,从而获得了即时信任和大规模分发。七年来,该组织学会了如何武器化浏览器市场——建立信任、积累用户,并通过静默更新进行攻击。

阶段 1:壁纸骗局(145 个扩展)
ShadyPanda 的第一次活动简单但规模庞大,发生在 2023 年。共有 145 个扩展,分布在两个市场——Chrome 网上应用店有 20 个,发布商为 nuggetsno15;Microsoft Edge 有 125 个,发布商为 rocket Zhang。所有这些都伪装成壁纸或生产力应用程序。
这波攻击是一次简单的联盟营销欺诈(affiliate fraud)。每当用户点击 eBay、Amazon 或 Booking.com 时,ShadyPanda 的扩展会悄悄注入联盟跟踪代码,从而在每次购买中获得隐藏佣金。这些扩展还部署了 Google Analytics 跟踪,以便把浏览数据货币化——每次网站访问、搜索查询与点击模式都被记录并出售。
这个阶段并不复杂,但很成功,ShadyPanda 学到了三个重要的教训:
- Chrome 的审核过程侧重于初次提交,而非持续行为
- 用户信任安装量高且评价积极的扩展
- 耐心是值得的——有些扩展在被检测到之前运行了数月。你看起来越合法,造成的损害就越大。
阶段 2:搜索劫持演变
ShadyPanda 变得更大胆了。下一波攻击发生在 2024 年初,从被动货币化转向主动浏览器控制。
Infinity V+ 是这一阶段的典型例子。它伪装成新标签页类的生产力工具,但劫持了若干核心浏览器功能:
搜索重定向:每次网络搜索都会通过 trovi.com(一个已知的浏览器劫持者)进行重定向。搜索查询会被记录、货币化并出售,搜索结果也被篡改以牟利。
Cookie 窃取:扩展程序读取特定域的 Cookie,并将跟踪数据发送到 nossl.dergoodting.com。创建了唯一的标识符来监控浏览活动。所有这些都未经同意或披露。

搜索查询收集:搜索框中的每个按键都会发送到外部服务器(s-85283.gotocdn[.]com 和 s-82923.gotocdn[.]com)。在你按下回车键之前,它们就能实时分析用户兴趣。扩展会捕获部分查询、拼写错误与更正,从而构建出你思考搜索问题时的细粒度轨迹。所有这些流量通过未加密的 HTTP 连接传输,使数据容易被拦截和货币化。这不仅记录你搜索的内容,还记录你如何思考搜索。
ShadyPanda 正在学习并变得更具侵略性。但他们仍然被抓住了。扩展程序在部署后的几周或几个月内就被报告并移除。
他们需要一个更好的策略。
阶段 3:长期博弈
五个扩展。其中三个在 2018-2019 年上传——包括拥有 20 万以上安装量的 Clean Master。所有这些都合法运营多年,获得了特色和验证状态。
策略:建立信任,积累用户,然后通过一次更新进行武器化。
在武器化之前,ShadyPanda 部署了隐蔽的安装追踪来优化分发策略——这是一次数据驱动的恶意软件开发过程。
2024 年中期:在积累了约 30 万个安装后,ShadyPanda 推送了恶意更新。借助 Chrome 与 Edge 的受信任自动更新机制,用户自动被感染。所有五个扩展随后都开始运行相同的恶意代码。
远程代码执行:定时任务
每台受感染的浏览器都会运行一个远程代码执行框架。该框架每小时轮询 api.extensionplay[.]com,获取新指令,下载任意 JavaScript 并以完整的浏览器 API 权限执行。
这并非功能固定的恶意软件,而是一个后门。ShadyPanda 决定其行为。今天可能是监视,明天就可能是勒索软件、凭证窃取或企业间谍活动。更新机制自动运行,每小时一次,永不停歇。
完整的浏览器监控
当前的有效载荷监控每次网站访问,并将加密数据窃取到 ShadyPanda 的服务器:
被收集/窃取的数据包括:
- 每次访问的 URL,包含完整的浏览历史
- 显示导航模式的 HTTP 引用者
- 用于活动分析的时间戳
- 持久的 UUIDv4 标识(存储于 chrome.storage.sync,可跨设备同步)
- 完整的浏览器指纹:用户代理、语言、平台、屏幕分辨率、时区
- 所有数据在发送到 api.cleanmasters.store 之前都经过 AES 加密
规避与攻击能力
- 反分析:恶意代码会检测到开发者工具的打开并切换为良性行为以规避分析。代码高度混淆(变量名被缩短),并通过一个约 158KB 的 JavaScript 解释器执行以规避内容安全策略(CSP)。
- 中间人攻击:通过 service worker 可拦截和修改网络请求,用恶意脚本替换合法的 JavaScript 文件,从而实施凭证窃取、会话劫持,甚至向任意网站(包括 HTTPS 站点)注入内容。
ShadyPanda 可以每小时更新其中任何一项功能。尽管这些扩展最近已从应用商店中移除,但其全面攻击的基础设施仍部署在所有受感染的浏览器上。
阶段 4:间谍软件帝国(5 个扩展,400 万以上用户)
然而,ShadyPanda 最重要的行动并非 Clean Master。Edge 版 Clean Master 的同一发行商 Starlab Technology 于 2023 年左右在 Microsoft Edge 上推出了另外 5 个扩展,累计安装量超过 400 万。
问题在于:所有 5 个扩展仍在 Microsoft Edge 市场中活跃。与第三阶段被移除的扩展不同,这个针对 400 万用户的监控操作目前仍在进行中。
其中两个是全面的间谍软件。旗舰产品 WeTab 新标签页(WeTab New Tab Page)仅一个就拥有 300 万安装量,它伪装成一个生产力工具,却是一个复杂的监控平台。
全面数据收集
WeTab 收集并将大量用户数据窃取到 17 个不同的域(中国的 8 个百度服务器、中国的 7 个 WeTab 服务器和 Google Analytics):
收集的内容:
- 每次访问的 URL——完整的浏览历史实时传输
- 所有搜索查询——对用户搜索内容的按键级别监控
- 像素级精度的鼠标点击跟踪——X/Y 坐标和元素识别
- 浏览器指纹识别——屏幕分辨率、语言、时区、用户代理
- 页面交互数据——页面停留时间、滚动行为、活跃浏览时间
- 存储访问——读取 localStorage、sessionStorage,并可访问所有 cookie
第四阶段的规模远超 Clean Master 行动:感染用户达 400 万,而后者仅为 30 万。这些扩展仍在 Microsoft Edge 市场中活跃——它们已经拥有危险的权限,包括访问所有 URL 和 cookie,用户现在仍在下载它们。ShadyPanda 可以随时推送更新,利用第三阶段相同的 RCE 后门框架,或者更糟糕的东西,来武器化这 400 万个浏览器。基础设施已就位。权限已授予。更新机制自动运行。
七年利用
ShadyPanda 的成功不仅仅在于技术上的复杂性。它在于七年来系统地利用了同一个漏洞:应用商店在提交时审查扩展。它们不会监控批准后发生的事情。
将所有这些活动联系在一起的是:代码签名相似性、重叠的基础设施、随着时间演变而相同的混淆技术。同一个行为者。不同的伪装。每个阶段都从上一个阶段中学习——从粗糙的联盟欺诈到耐心的五年运营。
自动更新机制——旨在确保用户安全——变成了攻击向量。Chrome 和 Edge 受信任的更新管道悄无声息地向用户分发恶意软件。没有网络钓鱼。没有社会工程。只有带有静默版本更新的受信任扩展,将生产力工具变成了监控平台。
ShadyPanda 控制着接下来会发生什么:会话劫持、凭证收集、账户接管、通过受损开发者进行的供应链攻击。对于企业而言,受感染的开发者工作站意味着代码库被入侵和 API 密钥被盗。基于浏览器的 SaaS 平台、云控制台和内部工具的身份验证意味着每次登录对 ShadyPanda 都是可见的。扩展绕过了传统的安全控制。ShadyPanda 已在您的网络中潜伏了一年多。
系统性问题不仅仅是一个恶意行为者。而是安全模型鼓励了这种行为:
- 构建合法的东西
- 通过审查并获得信任信号(安装量、评论、验证徽章)
- 积累庞大的用户群
- 通过更新进行武器化
- 在被检测到之前获利
ShadyPanda 证明了这种方法是有效的。现在,每个老练的威胁行为者都知道这个套路。
最终思考
一个耐心的威胁行为者和一个教训:信任是脆弱点。
ShadyPanda 证明,市场仍然以七年前的方式审查扩展——提交时进行静态分析,批准后信任,没有持续监控。Clean Master 合法运营了五年。静态分析无法捕捉到这一点。
这篇报告由 Koi Security 的研究团队撰写。
Koi 就是为此而生:对团队从市场获取的扩展进行行为分析与风险评分。我们关注的是扩展安装后的实际行为,而不是其宣称的功能。
威胁指标(IOCS)
C&C 域:
- extensionplay[.]com
- yearnnewtab[.]com
- api.cgatgpt[.]net
窃取域:
- dergoodting[.]com
- yearnnewtab[.]com
- cleanmasters[.]store
- s-85283.gotocdn[.]com
- s-82923.gotocdn[.]com
Chrome 扩展:
- eagiakjmjnblliacokhcalebgnhellfi
- ibiejjpajlfljcgjndbonclhcbdcamai
- ogjneoecnllmjcegcfpaamfpbiaaiekh
- jbnopeoocgbmnochaadfnhiiimfpbpmf
- cdgonefipacceedbkflolomdegncceid
- gipnpcencdgljnaecpekokmpgnhgpela
- bpgaffohfacaamplbbojgbiicfgedmoi
- ineempkjpmbdejmdgienaphomigjjiej
- nnnklgkfdfbdijeeglhjfleaoagiagig
- Mljmfnkjmcdmongjnnnbbnajjdbojoci
- llkncpcdceadgibhbedecmkencokjajg
- nmfbniajnpceakchicdhfofoejhgjefb
- ijcpbhmpbaafndchbjdjchogaogelnjl
- olaahjgjlhoehkpemnfognpgmkbedodk
- gnhgdhlkojnlgljamagoigaabdmfhfeg
- cihbmmokhmieaidfgamioabhhkggnehm
- lehjnmndiohfaphecnjhopgookigekdk
- hlcjkaoneihodfmonjnlnnfpdcopgfjk
- hmhifpbclhgklaaepgbabgcpfgidkoei
- lnlononncfdnhdfmgpkdfoibmfdehfoj
- nagbiboibhbjbclhcigklajjdefaiidc
- ofkopmlicnffaiiabnmnaajaimmenkjn
- ocffbdeldlbilgegmifiakciiicnoaeo
- eaokmbopbenbmgegkmoiogmpejlaikea
- lhiehjmkpbhhkfapacaiheolgejcifgd
- ondhgmkgppbdnogfiglikgpdkmkaiggk
- imdgpklnabbkghcbhmkbjbhcomnfdige
Edge 附加组件:
- bpelnogcookhocnaokfpoeinibimbeff
- enkihkfondbngohnmlefmobdgkpmejha
- hajlmbnnniemimmaehcefkamdadpjlfa
- aadnmeanpbokjjahcnikajejglihibpd
- ipnidmjhnoipibbinllilgeohohehabl
- fnnigcfbmghcefaboigkhfimeolhhbcp
- nlcebdoehkdiojeahkofcfnolkleembf
- fhababnomjcnhmobbemagohkldaeicad
- nokknhlkpdfppefncfkdebhgfpfilieo
- ljmcneongnlaecabgneiippeacdoimaa
- onifebiiejdjncjpjnojlebibonmnhog
- dbagndmcddecodlmnlcmhheicgkaglpk
- fmgfcpjmmapcjlknncjgmbolgaecngfo
- kgmlodoegkmpfkbepkfhgeldidodgohd
- hegpgapbnfiibpbkanjemgmdpmmlecbc
- gkanlgbbnncfafkhlchnadcopcgjkfli
- oghgaghnofhhoolfneepjneedejcpiic
- fcidgbgogbfdcgijkcfdjcagmhcelpbc
- nnceocbiolncfljcmajijmeakcdlffnh
- domfmjgbmkckapepjahpedlpdedmckbj
- cbkogccidanmoaicgphipbdofakomlak
- bmlifknbfonkgphkpmkeoahgbhbdhebh
- ghaggkcfafofhcfppignflhlocmcfimd
- hfeialplaojonefabmojhobdmghnjkmf
- boiciofdokedkpmopjnghpkgdakmcpmb
- ibfpbjfnpcgmiggfildbcngccoomddmj
- idjhfmgaddmdojcfmhcjnnbhnhbmhipd
- jhgfinhjcamijjoikplacnfknpchndgb
- cgjgmbppcoolfkbkjhoogdpkboohhgel
- afooldonhjnhddgnfahlepchipjennab
- fkbcbgffcclobgbombinljckbelhnpif
- fpokgjmlcemklhmilomcljolhnbaaajk
- hadkldcldaanpomhhllacdmglkoepaed
- iedkeilnpbkeecjpmkelnglnjpnacnlh
- hjfmkkelabjoojjmjljidocklbibphgl
- dhjmmcjnajkpnbnbpagglbbfpbacoffm
- cgehahdmoijenmnhinajnojmmlnipckl
- fjigdpmfeomndepihcinokhcphdojepm
- chmcepembfffejphepoongapnlchjgil
- googojfbnbhbbnpfpdnffnklipgifngn
- fodcokjckpkfpegbekkiallamhedahjd
- igiakpjhacibmaichhgbagdkjmjbnanl
- omkjakddaeljdfgekdjebbbiboljnalk
- llilhpmmhicmiaoancaafdgganakopfg
- nemkiffjklgaooligallbpmhdmmhepll
- papedehkgfhnagdiempdbhlgcnioofnd
- glfddenhiaacfmhoiebfeljnfkkkmbjb
- pkjfghocapckmendmgdmppjccbplccbg
- gbcjipmcpedgndgdnfofbhgnkmghoamm
- ncapkionddmdmfocnjfcfpnimepibggf
- klggeioacnkkpdcnapgcoicnblliidmf
- klgjbnheihgnmimajhohfcldhfpjnahe
- acogeoajdpgplfhidldckbjkkpgeebod
- ekndlocgcngbpebppapnpalpjfnkoffh
- elckfehnjdbghpoheamjffpdbbogjhie
- dmpceopfiajfdnoiebfankfoabfehdpn
- gpolcigkhldaighngmmmcjldkkiaonbg
- dfakjobhimnibdmkbgpkijoihplhcnil
- hbghbdhfibifdgnbpaogepnkekonkdgc
- fppchnhginnfabgenhihpncnphhafmac
- ghhddclfklljabeodmcejjjlhoaaiban
- bppelgkcnhfkicolffhlkbdghdnjdkhi
- ikgaleggljchgbihlaanjbkekmmgccam
- bdhjinjoglaijpffoamhhnhooeimgoap
- fjioinpkgmlcioajfnncgldldcnabffe
- opncjjhgbllenobgbfjbblhghmdpmpbj
- cbijiaccpnkbdpgbmiiipedpepbhioel
- fbbmnieefocnacnecccgmedmcbhlkcpm
- hmbacpfgehmmoloinfmkgkpjoagiogai
- paghkadkhiladedijgodgghaajppmpcg
- bafbmfpfepdlgnfkgfbobplkkaoakjcl
- kcpkoopmfjhdpgjohcbgkbjpmbjmhgoi
- jelgelidmodjpmohbapbghdgcpncahki
- lfgakdlafdenmaikccbojgcofkkhmolj
- hdfknlljfbdfjdjhfgoonpphpigjjjak
- kpfbijpdidioaomoecdbfaodhajbcjfl
- fckphkcbpgmappcgnfieaacjbknhkhin
- lhfdakoonenpbggbeephofdlflloghhi
- ljjngehkphcdnnapgciajcdbcpgmpknc
- ejfocpkjndmkbloiobcdhkkoeekcpkik
- ccdimkoieijdbgdlkfjjfncmihmlpanj
- agdlpnhabjfcbeiempefhpgikapcapjb
- mddfnhdadbofiifdebeiegecchpkbgdb
- alknmfpopohfpdpafdmobclioihdkhjh
- hlglicejgohbanllnmnjllajhmnhjjel
- iaccapfapbjahnhcmkgjjonlccbhdpjl
- ehmnkbambjnodfbjcebjffilahbfjdml
- ngbfciefgjgijkkmpalnmhikoojilkob
- laholcgeblfbgdhkbiidbpiofdcbpeeo
- njoedigapanaggiabjafnaklppphempm
- fomlombffdkflbliepgpgcnagolnegjn
- jpoofbjomdefajdjcimmaoildecebkjc
- nhdiopbebcklbkpfnhipecgfhdhdbfhb
- gdnhikbabcflemolpeaaknnieodgpiie
- bbdioggpbhhodagchciaeaggdponnhpa
- ikajognfijokhbgjdhgpemljgcjclpmn
- lmnjiioclbjphkggicmldippjojgmldk
- ffgihbmcfcihmpbegcfdkmafaplheknk
- lgnjdldkappogbkljaiedgogobcgemch
- hiodlpcelfelhpinhgngoopbmclcaghd
- mnophppbmlnlfobakddidbcgcjakipin
- jbajdpebknffiaenkdhopebkolgdlfaf
- ejdihbblcbdfobabjfebfjfopenohbjb
- ikkoanocgpdmmiamnkogipbpdpckcahn
- ileojfedpkdbkcchpnghhaebfoimamop
- akialmafcdmkelghnomeneinkcllnoih
- eholblediahnodlgigdkdhkkpmbiafoj
- ipokalojgdmhfpagmhnjokidnpjfnfik
- hdpmmcmblgbkllldbccfdejchjlpochf
- iphacjobmeoknlhenjfiilbkddgaljad
- jiiggekklbbojgfmdenimcdkmidnfofl
- gkhggnaplpjkghjjcmpmnmidjndojpcn
- opakkgodhhongnhbdkgjgdlcbknacpaa
- nkjomoafjgemogbdkhledkoeaflnmgfi
- ebileebbekdcpfjlekjapgmbgpfigled
- oaacndacaoelmkhfilennooagoelpjop
- ljkgnegaajfacghepjiajibgdpfmcfip
- hgolomhkdcpmbgckhebdhdknaemlbbaa
- bboeoilakaofjkdmekpgeigieokkpgfn
- dkkpollfhjoiapcenojlmgempmjekcla
- emiocjgakibimbopobplmfldkldhhiad
- nchdmembkfgkejljapneliogidkchiop
- lljplndkobdgkjilfmfiefpldkhkhbbd
- hofaaigdagglolgiefkbencchnekjejl
- hohobnhiiohgcipklpncfmjkjpmejjni
- jocnjcakendmllafpmjailfnlndaaklf
- bjdclfjlhgcdcpjhmhfggkkfacipilai
- ahebpkbnckhgjmndfjejibjjahjdlhdb
- enaigkcpmpohpbokbfllbkijmllmpafm
- bpngofombcjloljkoafhmpcjclkekfbh
- cacbflgkiidgcekflfgdnjdnaalfmkob
- ibmgdfenfldppaodbahpgcoebmmkdbac