惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
量子位
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
U
Unit 42
IT之家
IT之家
F
Fortinet All Blogs
GbyAI
GbyAI
MongoDB | Blog
MongoDB | Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Register - Security
The Register - Security
NISL@THU
NISL@THU
Webroot Blog
Webroot Blog
A
Arctic Wolf
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Visual Studio Blog
Recent Announcements
Recent Announcements
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Blog — PlanetScale
Blog — PlanetScale
L
LangChain Blog
P
Palo Alto Networks Blog
Y
Y Combinator Blog
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
AWS News Blog
AWS News Blog
有赞技术团队
有赞技术团队
Engineering at Meta
Engineering at Meta
C
Cybersecurity and Infrastructure Security Agency CISA
aimingoo的专栏
aimingoo的专栏
Know Your Adversary
Know Your Adversary
Cyberwarzone
Cyberwarzone
Martin Fowler
Martin Fowler
The Hacker News
The Hacker News
P
Privacy International News Feed
T
Threat Research - Cisco Blogs
G
GRAHAM CLULEY
宝玉的分享
宝玉的分享
博客园 - 聂微东
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The GitHub Blog
The GitHub Blog
S
Securelist
T
The Exploit Database - CXSecurity.com
T
Threatpost
Microsoft Azure Blog
Microsoft Azure Blog
The Cloudflare Blog
F
Full Disclosure

Socket

US Government Forces Anthropic to Pull Claude Fable Days After Launch Andrew Becherer Joins Socket as Chief Information Security Officer Socket Partners with Replit to Block Malicious Packages in AI-Powered Development npm Tooling Bug Incorrectly Marks One-Character Packages as Security Holders Mini Shai-Hulud, Miasma, and Hades Worms Target Bioinformatics and MCP Developers via Malicious PyPI Wheels Shai-Hulud Descends to Hades: Miasma Worm Campaign Spreads with New PyPI Wave RubyGems Adds Cooldown Feature to Bundler for Newly Published Gems RubyGems Adds Cooldown Feature to Bundler for Newly Published Gems pnpm 11.5 Adds Support for Recognizing npm Staged Publishes pnpm 11.5 Adds Support for Recognizing npm Staged Publishes Federal Audit Finds NIST Wasted Funds With No Plan to Clear NVD Backlog Federal Audit Finds NIST Wasted Funds With No Plan to Clear NVD Backlog Mini Shai-Hulud Campaign Hits Red Hat Cloud Services npm Packages Mini Shai-Hulud Campaign Hits Red Hat Cloud Services npm Packages Famous Chollima Targets PHP Developers Through Compromised Packagist Package Famous Chollima Targets PHP Developers Through Compromised Packagist Package Rust Moves to Restrict LLM Use in Contributions After Months of Internal Debate Rust Moves to Restrict LLM Use in Contributions After Months of Internal Debate Malicious NuGet Package Impersonates Sicoob SDK to Exfiltrate Banking Certificates and Passwords Malicious NuGet Package Impersonates Sicoob SDK to Exfiltrate Banking Certificates and Passwords Feross on TBPN: Socket's Series C and the State of Software Supply Chain Security Feross on TBPN: Socket's Series C and the State of Software Supply Chain Security OSV Withdraws 157 Malware Reports After Automated False Positives Hit npm and PyPI OSV Withdraws 157 Malware Reports After Automated False Positives Hit npm and PyPI TrapDoor Crypto Stealer Supply Chain Attack Hits 34 Packages and Hundreds of Versions Across npm, PyPI, and Crates.io TrapDoor Crypto Stealer Supply Chain Attack Hits 34 Packages and Hundreds of Versions Across npm, PyPI, and Crates.io Laravel Lang Compromised with RCE Backdoor Across 700+ Versions Malicious Postinstall Hook Found Across 700+ GitHub Repositories, Including Packagist and Node.js Projects AI Has Taken Over Open Source npm Invalidates Granular Access Tokens as Mini Shai-Hulud Sweeps the Registry Coruna Respawned: Compromised art-template npm Package Leads to iOS Browser Exploit Kit Socket raises $60M Series C at $1B valuation led by Thrive Capital to secure AI-driven software development Socket Raises $60M Series C at a $1B Valuation to Help Enterprises Build Securely With AI Popular Go Decimal Library Targeted by Long-Running Typosquat with DNS Backdoor Active Supply Chain Attack Compromises @antv Packages on npm Popular node-ipc npm Package Infected with Credential Stealer TeamPCP and BreachForums Launch $1,000 Contest for Supply Chain Attacks Packagist Urges Immediate Composer Update After GitHub Actions Token Leak GemStuffer Campaign Abuses RubyGems as Exfiltration Channel Targeting UK Local Government Socket Named to Rising in Cyber 2026 List of Top Cybersecurity Startups TanStack npm Packages Compromised in Ongoing Mini Shai-Hulud Supply-Chain Attack fsnotify Maintainer Dispute Sparks Supply Chain Concerns Socket Releases Free Certified Patches for Critical vm2 Sandbox Escape 5 Malicious NuGet Packages Impersonate Chinese UI Libraries to Distribute Crypto Wallet and Credential Stealer pnpm 11 Adds Supply Chain Protection Defaults for Minimum Release Age and Exotic Subdependencies PyPI Fixes High-Severity Access Control Issues Found in Security Audit Malicious Ruby Gems and Go Modules Impersonate Developer Tools to Steal Secrets and Poison CI Mini Shai-Hulud Spreads to Packagist: Malicious Intercom PHP Package Follows npm Compromise Intercom’s npm Package Compromised in Ongoing Mini Shai-Hulud Worm Attack lightning PyPI Package Compromised in Supply Chain Attack Malicious npm Package Brand-Squats TanStack to Exfiltrate Environment Variables SAP CAP npm Packages Hit by Supply Chain Attack Socket Has Acquired Secure Annex 73 Open VSX Sleeper Extensions Linked to GlassWorm Show New Malware Activations Introducing Reachability for PHP Introducing Data Exports Malicious Checkmarx Artifacts Found in Official KICS Docker Repository and Code Extensions Introducing Organization Notifications in Socket Introducing Reports: An Extensible Reporting Framework for Socket Data Socket for Jira Is Now Available Socket Named Top Sales Organization by RepVue NIST Officially Stops Enriching Most CVEs as Vulnerability Volume Skyrockets Socket Selected for OpenAI's Cybersecurity Grant Program Feross on the 10 Minutes or Less Podcast: Nobody Reads the Code 108 Chrome Extensions Linked to Data Exfiltration and Session Theft via Shared C2 Infrastructure Node.js Drops Bug Bounty Rewards After Funding Dries Up The Hidden Blast Radius of the Axios Compromise
152 Chrome Live Wallpaper Extensions Hid Ad Tracking and Faked Google Search Traffic
Kush Pandya · 2026-06-13 · via Socket

Sidebar CTA Background

Secure your dependencies with us

Socket proactively blocks malicious open source packages in your code.

Install

Socket's Threat Research Team identified a family of 152 Chrome Web Store new-tab "live wallpaper" extensions, built from one shared codebase but distributed across 38 separate Chrome Web Store publisher accounts and three brand backends, carrying a combined total of approximately 105,000 reported installs. Every listing declares on the Chrome Web Store that it will not collect or use user data, while the linked privacy policy admits the opposite: that the extensions log IP addresses, ISP, click counts, and referrers and share that data with Google AdSense, DoubleClick, and third-party ad partners.

A 54-listing subset, all on the newer tabplugins-brand template, additionally forges Google organic-search attribution and disguises its uninstall ping as a Google search-result click, laundering extension-driven traffic into what looks like earned Google organic search.

In plain terms: every time a website gets a visitor, analytics records how that visitor arrived, the "source." "Organic search" means the person found the site by typing a query into Google and clicking a normal, unpaid result. It is the most valuable kind of traffic a site can claim, because it signals genuine, earned interest rather than paid ads or the site sending traffic to itself. These extensions manufacture that signal. The visit is not a person who searched Google; it is the extension opening a tab on its own and stamping it "arrived from Google organic search." The uninstall ping goes a step further, wrapping the destination in the exact google.com/url format Google uses for real search-result clicks, including the signed ved and usg tokens, so the hit looks like a human clicking a Google result.

The operator is fabricating the origin of its own traffic. Inflated "organic" numbers make a web property look more popular and more trusted than it is, and that is precisely what advertisers, ad networks, and affiliate programs pay for. The fabricated signal pollutes the operator's analytics, any ad partner's measurement, and Google's own attribution data with visits that were generated by software, not earned from people. It is the mechanism that turns silent extension installs into what looks like organic human demand, at the scale of the whole 141-extension network.

The family's behavior splits into three classes:

  • Deceptive traffic laundering (on the 54 tabplugins-brand listings that ship the newer template): forged utm_source=google&utm_medium=organic install attribution plus a cloaked google.com/url uninstall redirect that disguises extension-driven traffic as genuine Google search activity.
  • An anti-forensic IndexedDB wipe shipped verbatim into 100 percent of the family, running an enumerate-and-delete routine on every service-worker start. It is inert in this build and deletes nothing.
  • A Chrome Web Store privacy disclosure of "no data collected" that the operator's own linked privacy policy directly contradicts.

This is an adware-adjacent potentially unwanted program (PUP) family. The concrete harm is deceptive traffic measurement, undisclosed telemetry, and a provably false privacy disclosure. The monetization works by funnel rather than injection: the extensions pump forced, falsely attributed traffic to ad-monetized brand pages while logging the user, and the operators spread the identical template across dozens of publisher accounts so that no single takedown dents the network.

The Install and Uninstall Pings Forge Google Attribution#

The service worker js/bg.js defines two hardcoded URLs and fires them on install and uninstall. The install URL carries fabricated organic-search attribution, and the uninstall URL is wrapped in a fake Google search-result click.

// js/bg.js (Tanjiro sample). Analyst note: the install URL tags extension-driven
// traffic as Google "organic" search. The traffic is not organic, it is the
// extension opening a tab on install.
const installUrl = "https://tabplugins.com/tanjiro-demon-slayer-live-wallpaper/?utm_source=google&utm_medium=organic&utm_campaign=tanjiro-demon-slayer-live-wallpaper";

// Analyst note: the uninstall URL is a google.com/url redirect wrapper carrying a
// fabricated ved/usg signature, disguising a tabplugins.com destination as a real
// Google search-result click. Loading it on uninstall tells the server an uninstall
// occurred, while laundering the referral as Google activity.
const uninstallUrl = "https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://tabplugins.com/live-wallpaper/&ved=2ahUKEwigjZv3_sqUAxWaTKQEHVVYOFUQFnoECB4QAQ&usg=AOvVaw3S1cD8TWcvQUivIwcBGtSp";

chrome.runtime.onInstalled.addListener(() => {
  chrome.tabs.create({ url: installUrl });
  chrome.tabs.create({ url: chrome.runtime.getURL("newtab.html") });
});

if (chrome.runtime.setUninstallURL) {
  chrome.runtime.setUninstallURL(uninstallUrl);
}

On install, the worker force-opens a tabplugins[.]com tab tagged utm_source=google&utm_medium=organic, telling the operator's analytics that a new user arrived through Google organic search. They did not. The visit is the extension opening a tab on itself. On uninstall, setUninstallURL fires a google.com/url wrapper. The ved and usg parameters are the signed tracking tokens Google appends to its own search-result redirects, and reproducing them on a self-chosen wrapper makes a tabplugins[.]com visit look, to analytics and to a casual observer, like the user clicked a Google search result. Both pings phone home the install and uninstall events, and both launder extension-driven traffic so the operator can present it to ad networks and affiliates as earned organic search.

IndexedDB Anti-Forensics#

On every service-worker start, js/bg.js enumerates and deletes every IndexedDB database it can see.

// js/bg.js. Analyst note: this enumerates and deletes every IndexedDB database
// visible to the calling context. In an MV3 background worker that context is the
// extension's own origin (chrome-extension://<id>), not any website's origin.
indexedDB.databases().then(dbs => {
  dbs.forEach(db => {
    indexedDB.deleteDatabase(db.name);
    console.log(`Deleted IndexedDB database: ${db.name}`);
  });
});

The routine is copied verbatim into 100 percent of the family and is the single most reliable fingerprint of the operation: an anti-forensic state-reset boilerplate with no legitimate purpose in a wallpaper app and no disclosure to the user.

Scoping it precisely: a Manifest V3 background service worker runs in the extension's own origin, chrome-extension://<id>, and browser storage is partitioned by origin, so indexedDB.databases() and deleteDatabase reach only databases belonging to that single partitioned origin. The routine cannot touch any website's IndexedDB, cookies, localStorage, or sessions. The extension also keeps all of its own state in localStorage, not IndexedDB, so in this build the wipe finds nothing to delete. It is the family's defining signature and an undisclosed anti-forensic behavior, shipped to every member regardless of whether it currently destroys anything.

To be concrete about what is and is not at risk: IndexedDB is where a page or extension persists structured client-side data, the kind of place a tracker would queue analytics events or cache an identifier. This extension writes none. It keeps all of its own state, the saved shortcuts, background mode, custom wallpaper, and last-image index, in localStorage, and never opens an IndexedDB database of its own. The wipe therefore destroys nothing in this build, and we found no hidden telemetry or stored data it is erasing. What makes it notable is the capability and its family-wide presence: an indiscriminate, undisclosed deleteDatabase loop on every service-worker start, shipped to all 141 members, that would silently clear any IndexedDB state in the extension's own origin, with no user disclosure and no benign reason to exist in a wallpaper app.

The new-tab search box calls chrome.search.query with no engine override, so it uses the user's existing default engine: search is not hijacked. The single search permission it requests is nonetheless the cleanest install-time tell for the family. Each saved shortcut's domain is sent to Google via a s2/favicons?domain= request on every new tab, a minor, undisclosed leak of the user's chosen sites.

A Few More Signs of Careless Mass Production#

Two lower-severity issues round out the new-tab code in js/script.js and the package layout:

  • The shortcut renderer injects user-saved shortcut name and url values into the DOM through unescaped template strings. This is self-XSS only, since a user would have to save their own malicious shortcut, but it is sloppy.
  • The image-wallpaper mode references wallpapers/1.jpg through wallpapers/10.jpg, but no wallpapers/ directory ships in the package, so image mode is broken. This is consistent with rushed factory packaging.

Mass Production Across 152 Extensions, 38 Publisher Accounts, and Three Brands#

The same bg.js core, identified by the same Deleted IndexedDB database: log string and the same install-navigation plus setUninstallURL structure, ships across three brand backends:

  • tabplugins[.]com: 109 of the analyzed extensions. This newer template is the only one that adds the forged utm_source=google&utm_medium=organic attribution and the cloaked google.com/url uninstall redirect.
  • yowgames[.]com: 19 extensions, a games-themed front, shipping the same core without the forged Google attribution.
  • chromewallpaper[.]com: 13 extensions, structurally identical to the yowgames variant.

These three brand domains are the shared backend, but the extensions are not published from a single Chrome Web Store account. Across the 141 live listings we resolved, the same template is spread over 38 distinct publisher accounts, with several distinct contact emails across the accounts (including hirakiranpk@gmail[.]comhussnain1122akram@gmail[.]comferhatbadem831@gmail[.]com, and keremsopar@gmail[.]com; the full set is in the IOC section). The two original samples are published by hirakiranpk, which turns out to be only one node in the network: it owns four extensions totaling roughly 18,000 installs, including the family's single largest, "Neymar - Football Live Wallpaper," at around 10,000. The heaviest account by reach is ZainAhamed1994, with 10 extensions and roughly 26,000 installs. Distributing one identical PUP template across dozens of separate publisher identities is itself a deliberate takedown-resistance tactic: removing any single account leaves the rest of the network live.

The same "live wallpaper" template published under four different Chrome Web Store accounts, one of 38 across the network.

A long tail of roughly two dozen further accounts publishes one to seven extensions each. The shared codebase is the constant; the fragmentation into dozens of publisher identities is the evasion layer on top.

Across the full dataset we collected 152 unique extension IDs. We downloaded and SHA-256-verified the bg.js for 141 of them, with 100 percent hash integrity against the source list. The remaining 11 were already delisted from the Chrome Web Store at the time of analysis (the update endpoint returned HTTP 204). All 141 with a retrievable service worker resolve to a live Chrome Web Store listing. Chrome Web Store rounds install counts in buckets at and above 1,000, so the family's combined-install figure is an order-of-magnitude floor rather than an exact sum. The family signature is consistent across all 141, and the forged Google attribution is confined to the 54 newer tabplugins[.]com listings.

The mass production shows in the failures as well as the consistency. Three of the analyzed extensions, all on tabplugins[.]com, ship a bg.js that does not parse, because the closing quote of the install URL lands before the query string.

// js/bg.js (Porsche sample). Analyst note: the closing quote lands before the query
// string, so the parser sees an assignment to an expression. node --check reports
// "SyntaxError: Invalid left-hand side in assignment". A syntax error aborts the
// entire script, so the install navigation, uninstall tracking, and IndexedDB wipe
// never register in these three extensions.
const installUrl = "https://tabplugins.com/porsche-911-sports-car-live-wallpaper/"?utm_source=google&utm_medium=organic&utm_campaign=porsche-911-sports-car-live-wallpaper;

These three still install, still override the new tab, and still ship the search permission, but their background logic never runs. Shipping a non-parsing service worker that passed Chrome Web Store review is direct evidence of unreviewed mass production rather than careful targeting.

There is no remote code anywhere in the family. None of the 141 service workers contain fetchXMLHttpRequestWebSocketsendBeaconevalnew FunctionimportScripts, or atob. The wallpaper bg.mp4 files are genuine MP4 containers with no appended payload, and the bundled jQuery is the untampered official 3.7.1 release. All telemetry is limited to the install and uninstall pings described above.

Infrastructure and Monetization#

The brand domains resolve to two distinct operator infrastructures, tied to each other only by the shared extension template, not by shared hosting.

  • The yowgames cluster: yowgames[.]com, chromewallpaper[.]com, and owhit[.]com all sit behind the same Cloudflare account, identified by the shared name-server pair journey[.]ns[.]cloudflare[.]com and tim[.]ns[.]cloudflare[.]com, all registered through Spaceship. chromewallpaper[.]com is a redirector: it issues an HTTP 301 to owhit[.]com. Cloudflare assigns a specific name-server pair per account, so three domains sharing the exact same pair are almost certainly administered from one account.
  • The tabplugins cluster: tabplugins[.]com sits on a separate Cloudflare account (name-server pair fatima[.]ns[.]cloudflare[.]com and ned[.]ns[.]cloudflare[.]com), registered through Hostinger, with its origin exposed on Hostinger IPs 147[.]79[.]120[.]202 and 92[.]112[.]198[.]22 rather than fully proxied.

How the network monetizes: 38 publisher accounts feed three brand domains across two hosting clusters, each wired to Google Ad Manager or AdSense under its own account.

Every operator-controlled domain is registered behind WHOIS privacy, so no registrant name or country is recoverable from registration data, and we do not infer one from it. The two clusters are best read as at least two teams running the same identical extension template, the same false Chrome Web Store disclosure, and the same monetization scheme, rather than a single registrant.

The money comes from advertising, funneled rather than injected. tabplugins[.]com, the only brand whose pages render without a Cloudflare bot wall, is a WordPress catalog of free Chrome and Edge extensions that loads a live programmatic ad stack. The page pulls https://avads[.]live/s/av-tabplugins.js, a Prebid header-bidding bundle operated by the ad-tech vendor Advergic, which wires up Google Ad Manager (network code 23301900962,23324153939), AppNexus/Xandr, PixFuture, and SmileWanted, including a full-screen interstitial ad slot, alongside Google Analytics 4 property G-906NQ2GLXR and FOU Analytics. The extensions are the traffic pump for these ad-monetized pages: the forced install tab, the in-page "More Extensions" and uninstall-guide links, and the forged-organic attribution all drive and dress up visits to a property that monetizes them through programmatic display and interstitial ads. This is the adware mechanism, ads on the destination the user is funneled to, not ads injected into the pages the user browses.

A smaller secondary deception sits inside that stack: tabplugins[.]com's own privacy policy names Google AdSense and Google DoubleClick DART cookies as its ad partners, but the ad code it actually serves is the Advergic Prebid stack feeding Google Ad Manager, Xandr, PixFuture, and SmileWanted. The disclosed ad partners and the served ad partners do not match.

The yowgames cluster monetizes through Google ad products as well, via a different integration. Live retrieval of yowgames[.]com and owhit[.]com is blocked by a Cloudflare bot wall from our vantage, so we examined archived copies (Wayback Machine). Both homepages embed Google AdSense and googlesyndication.com directly, each under its own publisher ID (ca-pub-2685573472598175 for yowgames[.]com, ca-pub-6596604135510481 for owhit[.]com) and its own Google Analytics 4 property (G-YJWVP0Q1KW and G-6V3WECV225), and both privacy policies reuse the same DoubleClick DART, Google Analytics, and third-party-advertising boilerplate as tabplugins[.]com, rebranded per domain. All three brands are therefore ad-monetized destinations running Google ad products, each under its own ad and analytics accounts. tabplugins[.]com is the only brand serving the Advergic/avads stack rather than direct AdSense: its av-tabplugins.js bundle is live, while av-yowgames.jsav-owhit.js, and av-chromewallpaper.js return "Script not found."

Excerpts from the live av-tabplugins.js bundle showing the Google Ad Manager network code, the Advergic header-bidding account ID, and the full-screen interstitial ad slot served on the funnel page.

One brand name in the family is a dead end. walltab[.]com, which appears on one publisher account, is a parked HugeDomains "for sale" listing rather than operator infrastructure, and is excluded from the network cluster.

Attribution#

This is a financially motivated commercial adware and traffic-attribution-fraud affiliate operation, run by one or more small freelance teams.

We cannot tie this operation to a specific country with confidence. The available signals are circumstantial and point loosely toward Turkey, but none of them is proof. The strongest sits on owhit[.]com, whose contact page lists "Saniye Yıldız" with the addresses yahyagazi06@gmail[.]com and support@owhit[.]com. "Saniye Yıldız" is a Turkish name and the "06" suffix matches the Ankara area code, which is consistent with the Turkish-reading publisher contact emails ferhatbadem831@gmail[.]com and keremsopar@gmail[.]com on the yowgames-cluster listings. This is the publicly listed operator contact, not a verified person, and it may be a pseudonym. No GitHub, freelance-marketplace, or social-media portfolio links the publisher handles to each other or to a real identity, and we found no prior public reporting on these domains or handles. The Turkey reads are possibilities to investigate, not attribution we can stand behind.

The False Privacy Disclosure#

The clearest and most defensible policy violation is the contradiction between the Chrome Web Store privacy disclosure and the operator's own privacy policy, which is linked from the same listings.

On the Chrome Web Store, the Privacy practices tab for these listings states that "The developer has disclosed that it will not collect or use your data," that data is "Not being sold to third parties," and that data is "Not being used or transferred for purposes unrelated to the item's core functionality."

The Chrome Web Store "Privacy" panel for "Neymar - Football Live Wallpaper" declares that the developer will not collect or use user data.

The privacy policy at tabplugins[.]com/privacy-policy, linked from those same listings, states the opposite. It says the operator's log files "log visitors when they visit websites or use our extension" and that the information collected "include internet protocol (IP) addresses, browser type, Internet Service Provider (ISP), date and time stamp, referring/exit pages, and possibly the number of clicks." It further states that the operator collects "your IP address, your browser type and language, access times, the content of any undeleted cookies ... software installed upon and/or devices connected to your computer and/or device, and the referring website address," describes "tracking user's movement on the website and extension," and names Google AdSense, Google DoubleClick DART cookies, Google Analytics, and unnamed third-party advertising partners using cookies and web beacons.

A listing cannot truthfully claim "will not collect or use your data" while its own linked privacy policy admits extension-side logging of IP, ISP, click counts, and referrers feeding multiple ad networks. The install and uninstall telemetry corroborate that the extensions do phone home.

This is not a gray area under Chrome Web Store policy. Google's program policies require that "All information provided in the privacy fields of your extension must be up to date and accurate," and state plainly that "if the information listed in your privacy fields contradicts the information provided in your privacy policy, or the behavior of your extension, your extensions may be removed from the Store." Google further warns that "any discrepancies between the developer dashboard disclosures, your privacy policy, and the behavior of your item would be a violation of the Chrome Web Store developer program policies," and that this "can result in the suspension of all the items owned by the publisher, deactivation of the existing user-base, and ban of the entire publisher entity (including related accounts)." The contradiction documented here is exactly that three-way mismatch between the dashboard disclosure, the linked privacy policy, and the observed phone-home behavior, and it is not confined to the two samples: the identical "will not collect or use your data" disclosure appears on all 141 live listings we resolved, every one of which links the same privacy policy that admits the logging.

Impact#

An affected user is enrolled in deceptive traffic measurement and undisclosed telemetry. Specifically:

  • The user's install and uninstall events are reported to the operator, and per the operator's own privacy policy this is associated with IP, ISP, referrer, and click data and shared with Google AdSense, DoubleClick, Analytics, and third-party ad partners.
  • The operator presents extension-driven visits to advertisers and affiliates as Google organic search traffic, by way of the forged utm tags and the cloaked google.com/url redirect.
  • Saved shortcut domains leak to Google through the favicon requests on every new tab.
  • Every install ships an undisclosed anti-forensic IndexedDB wipe that runs on each service-worker start.

The privacy policy linked from the same listing admits the extension logs IP address, ISP, and click data and feeds Google AdSense, contradicting the store disclosure above.

The exposure is the family's full install base, on the order of 100,000 users. The harm is privacy and measurement integrity.

Outlook and Recommendations#

For Users

Remove any new-tab "live wallpaper" extension sourced from tabplugins[.]com, yowgames[.]com, or chromewallpaper[.]com. Treat a listing that requests the search permission and overrides your new tab as something to scrutinize, and read the Privacy practices tab against the linked privacy policy before installing. After removing a new-tab override, confirm Chrome's new tab and default search engine are restored to your preference.

For Developers

Make sure your store Privacy practices disclosure matches your published privacy policy exactly. Never fabricate utm attribution or reuse Google's signed ved/usg redirect tokens to disguise your own traffic. Do not ship unexplained anti-forensic boilerplate, such as an indiscriminate IndexedDB wipe, into a product: even when it deletes nothing in the current build, it is undisclosed behavior with no legitimate purpose and it will and should draw scrutiny.

For Security Teams

Hunt for the family fingerprint rather than individual IDs, since the family is mass-produced and IDs rotate. Reliable signals are the literal console string Deleted IndexedDB database: in an extension service worker, an indexedDB.databases() enumerate-and-delete loop in a bg.js, a setUninstallURL pointed at a google.com/url wrapper, and an onInstalled handler that opens a tab carrying utm_source=google&utm_medium=organic. Block the brand domains (tabplugins[.]com, yowgames[.]com, chromewallpaper[.]com, and the chromewallpaper redirect target owhit[.]com) and alert on new-tab override extensions that request the search permission and originate from them.

Socket's Chrome extension protection analyzes extension bundles for hidden data flows, undisclosed credential exfiltration, and C2 backdoors, blocking malicious extensions before they reach user endpoints.

MITRE ATT&CK#

  • T1176.001 Browser Extensions
  • T1036 Masquerading
  • T1070 Indicator Removal
  • T1071.001 Application Layer Protocol: Web Protocols
  • T1583.001 Acquire Infrastructure: Domains

Indicators of Compromise (IOCs)#

Threat Actor Developer Accounts

  1. ZainAhamed1994
  2. shuek
  3. gamingify009
  4. epicart
  5. asif44
  6. AW_Ext
  7. ibrkha
  8. deckapp.dev
  9. tabplugins.com
  10. netd.soft
  11. ExtNext
  12. WallExt
  13. hirakiranpk
  14. yowgames.com
  15. wallpaperbg
  16. Wallpaperguru
  17. Vivid Visuals
  18. wallfunlive
  19. yowtheme
  20. livewallpaperhd
  21. livewall
  22. TabTab
  23. NewTech
  24. 4klivechrome
  25. backgrounds
  26. max1
  27. nermincandas
  28. themevisual
  29. themesbrowser
  30. liveyow
  31. walltab
  32. livemotion
  33. Aurora Themes
  34. OneExt
  35. Wallpaper Factory
  36. motionlive
  37. HeroEXT
  38. chrometheme

Threat Actor Email Addresses

  • hirakiranpk@gmail[.]com
  • hussnain1122akram@gmail[.]com
  • ferhatbadem831@gmail[.]com
  • keremsopar@gmail[.]com
  • yahyagazi06@gmail[.]com
  • support@owhit[.]com
  • info@walltab[.]com

Network Indicators

  • tabplugins[.]com (Hostinger origin IPs 147[.]79[.]120[.]20292[.]112[.]198[.]22; Cloudflare name servers fatima[.]ns[.]cloudflare[.]comned[.]ns[.]cloudflare[.]com)
  • yowgames[.]com (Cloudflare name servers journey[.]ns[.]cloudflare[.]comtim[.]ns[.]cloudflare[.]com)
  • chromewallpaper[.]com (HTTP 301 redirect to owhit[.]com; same Cloudflare name-server pair as yowgames)
  • owhit[.]com (chromewallpaper redirect target; same Cloudflare name-server pair as yowgames)

Infrastructure and Monetization Indicators

  • Ad bundle URL pattern: avads[.]live/s/av-<brand>.js (confirmed serving for av-tabplugins.js)
  • Google Ad Manager network code (tabplugins[.]com): 23301900962,23324153939
  • Advergic Prebid account ID: yiF3ZLZK
  • Google AdSense publisher IDs: ca-pub-2685573472598175 (yowgames[.]com), ca-pub-6596604135510481 (owhit[.]com)
  • Google Analytics 4 properties: G-906NQ2GLXR (tabplugins[.]com), G-YJWVP0Q1KW (yowgames[.]com), G-6V3WECV225 (owhit[.]com)

Chrome Extension IDs

  1. laafpeklcnlfmjaofbndehkjpnccbhek Neymar - Football Live Wallpaper
  2. mnpacdigbockiilmilhbedciadenfdnb Satoru Gojo Manga Live Wallpaper
  3. iedplnnolciaofkakkjmcojnmklpfikg Porsche 911 - Sports Car Live Wallpaper (dead service worker)
  4. ipiabbhciknabpoihaakdahgghllelpj Satoru Gojo Live Wallpaper
  5. hijpkhinofkdobfagfbobnnoihmopgkk Hello Kitty Wallpapers HD New Tab
  6. famchdjojcnakamhkddkpaglnkonkfnl Pusheen Cat Wallpapers HD New Tab
  7. nomekamioepglinefhenifnbegjhfiai Peach & Goma Wallpapers HD New Tab
  8. jjngbcodoldjmpjpfbhfelaljbdlkekh Spider-Man Miles Morales Swing Live Wallpaper
  9. gfikbhpfjldbbikolkcimfgmejhdkjbe BMW M3 Neon Night Drive Live Wallpaper
  10. dbiamdajndfmpmmeklcbbnekhkdcakhf BMW Wallpapers
  11. pkdloppfapenphihgbldhjjlfhgnkmcg Death Note Anime Wallpapers HD New Tab
  12. imkepemaflommlonnppjobgdpokbfmoj Sonic Frontiers Starfall Live Wallpaper
  13. ibglidkppckhminbhbgcajomjplomcka Tanjiro - Demon Slayer Live Wallpaper
  14. gkbfokaephnaajnmpgiieidpfieamggb Neymar New Tab Wallpaper
  15. bcafgkhoifffmnoajkgmbhcojpabjffm Anime Car Drift Live Wallpaper
  16. ojeaociifmdciibodcifjjocdlbjjeep Choso Wallpapers New Tab
  17. npcghghfkbpgiamoifabankdnmopenni Anime Rain Live Wallpaper
  18. mjdhgndjbajnanfimjipafechjbakdhh Minecraft Sakura Pond Live Wallpaper
  19. lblgjffllphdepifdkfhlihddckhlkll Straw Hat Live Wallpaper Ghost of Tsushima
  20. laeciedchhnmnfhllplcgkfcdbdfgdhn Zenitsu Agatsuma Live Wallpaper
  21. jhnpoiikhnkjlfcffohfbkejnoojcopc Lamine Yamal Wallpapers HD Football
  22. ijbpegpcaiencppbgaldjflmllhhdfog FNAF Live Wallpaper
  23. icajjcahmgdpeilkbjbelkoinhonbaeb Ryomen Sukuna Sorcerer Live Wallpaper
  24. hichkepmmfdhhnagoejglmkdebinkcca Pochacco Live Wallpaper
  25. hfignegjmgkcmeipgbdpaihpbnjdkgbm Messi Wallpapers HD Football
  26. gfmgoodobmpmhoilhblgkocaehlkopod Kuromi Love Live Wallpaper
  27. geceobkknhgcbgnegnagckpnmfdfcppk Eren Yeager Live Wallpaper
  28. dnehmmlaljfhkdfekfbpljalkljgpmkj Black Clover New Tab Wallpaper
  29. dncncgaaalajgbijnalajojmmdmbdeci Jon Snow Wolf Live Wallpaper
  30. dmjbglakodlaodocplnbmhpdhngllhoe Kuromi Wallpapers HD New Tab
  31. djfpdmpoladfinglebbgkpcbiifhpmed Cinnamoroll Wallpapers HD New Tab
  32. decnpcihddaibncfimicaidmhmhfgpjb Hello Kitty Friends Live Wallpaper
  33. ahfhmnlfmhmnifjeejhcbaffgemmkoib Sung Jinwoo - Solo Leveling Live Wallpaper
  34. iccpkfpgkhinigpcaldpldkjpihcngin Corocoro Coronya Live Wallpaper
  35. cckipipbgopgoljcdhlfgcfcdkkonfbh Hollow Knight Silksong Live Wallpaper
  36. ocdgeajebolgofbpnlahdipclagnibpm Call of Duty Ghost Live Wallpaper
  37. gecgngeaifpeokmajbhcmdahkkfhpgic Itachi Uchiha Live Wallpaper
  38. jobeagkmmpfpepbabognchgecbehljag Hello Kitty Live Wallpaper Sanrio
  39. kfnbcjbhjiopgnlmigcigiooenpkkaib Minions Wallpapers New Tab
  40. nhdniddeikmpbapjcmcoaglhgepfmopb Nissan Skyline R34 Live Wallpaper
  41. ahheiepjhohjjdmbafjjhckninnlehlf Ferrari F1 Car Live Wallpaper
  42. adjkkoailfaklaipddajkpncbocgammd Real Madrid Emblem Live Wallpaper
  43. iingfcnnoibkdojcnfahhflafimjikce Dante Devil May Cry Live Wallpaper
  44. gelkonncfnniglodoncdmgcijikjdflg Labubi Live Wallpaper
  45. glmagbbbkofdibipgefimkdfbppgodee Chiikawa Wallpapers New Tab
  46. aeaaddfnednkbjbijieienagdilibjmo Ghost Modern Warfare Live Wallpaper
  47. jlnmbimmmnmejkjgaedggiignfciekim Kimetsu no Yaiba Wallpapers New Tab
  48. dbkhkbbjngadephedgpahlhomddaecef Miyamoto Musashi Live Wallpaper
  49. nmhgpefjpocdfcjenmecbnngbjbbcelp Kuromi Live Wallpaper
  50. bhefdfhbjonfechcjphjekhkdpaoddlo Ken Kaneki Tokyo Ghoul Live Wallpaper
  51. afblbdldehhbfnkjaekojkkinfcdkjgn Naruto - Kakashi Hatake Live Wallpaper
  52. mhekafflbaidbfikbjhdfioajiahflpg Astronaut Grok Black Hole Live Wallpaper
  53. nhjhcfdgfphedllolofcipdnjkjdihdj Hornet Hollow Knight Live Wallpaper
  54. phbankjceijddhfhcobljkjlcgmbfpoa Invincible Sky Flight Live Wallpaper
  55. npdbhfkphakcnjingllikjfclgabjipd Powerpuff Girls Live Wallpaper
  56. jbkmnkhkobkaegbhbeimoclnljmpknng Goku & Shenron Live Wallpaper
  57. afcjbeaomliemmngehinaekimohojokc Malenia - Elden Ring Live Wallpaper
  58. kbbpcmlmpdbipcmkhmbnipjkpnfijnda Hashibira Inosuke and Zenitsu Live Wallpaper
  59. begnlejfcmkjblajjeafpebgcbcojhin Kratos Live Wallpaper
  60. iipphhlmjmblpialebokpdpbnadodkbi Goku Rain Flame Live Wallpaper
  61. bilaomondbfgpbokppljiindmfnackcj Black Nissan GTR Rainy Night Live Wallpaper
  62. nppgecbeafccpgnhjjdlhpojicfjjblo My Hero Academia Wallpapers New Tab
  63. agfppecmpkdhfbilkkhonedjnjfnmimg Dipper & Mabel's Adventures Live Wallpaper
  64. iincgojokhoknbhgjaljpihfegfpbjih Haikyuu Kenma Kozume Live Wallpaper
  65. hdhcdlpopaiajpcmpnednmohdnfdmclp My Melody Wallpapers New Tab
  66. ajmhcjfgeahcaccefbkmacaljjangjmc Gojo Blue Eyes Live Wallpaper
  67. pcokalkebdbbfpkcgejbpkjhliahlppa Berserker Armor Live Wallpaper
  68. eiencjmoddignmjiapafelkfgfmedppl Bumblebee Live Wallpaper
  69. agplicjllogkjijnddgfjincdaagkbno Lamine Yamal Galaxy Live Wallpaper
  70. hpgfgaaaageiokfojfajdgjkkbadofjo Arsenal FC Flag Live Wallpaper
  71. hneachchlcnnfkhdiepdpoojodpjlanp Rengoku Wallpapers New Tab
  72. pblgphhmhlnhfkeldhflcefpckgnalmf Kaonashi Live Wallpaper
  73. ggpncchenfmambejcehgjadnedckijaf Berserker Dark Armor Live Wallpaper
  74. lmaaoejgcoaieeddmdpjpmhmbpepnckf Haikyuu Wallpapers New Tab
  75. kmeneimgonibpggfkjihdghpaioikppd Gojo Reversal Red Live Wallpaper
  76. alhilbblgdfkklanmfkbjmhapagpneng Gachiakuta Wallpapers New Tab
  77. gjaahnaaehopcpdhgpjddonmkgffpmji Tiger Live Wallpaper
  78. dmeipihagdngmblfpfinkagindgfbmpo Purple Sakura Live Wallpaper
  79. bfdcbjeogfmagcoeihgbggacohalmffm Guts Beast of Darkness Live Wallpaper
  80. calbnkamaibciogbicgbgpocigocaofh Berserk Wallpapers New Tab
  81. ccbmjnepfjepehocnhdnddmaljhecjid Dr. Stone Wallpapers New Tab
  82. bdopholihfepohbcaifahepojljpihfb Anime Boy Wallpapers New Tab
  83. onfjapdgahmnajmbkacmifpciokicbkd Manchester United Flag Live Wallpaper
  84. iggbnejemgjglnmkfjipacpfnbblkhgc BMW M4 Wallpapers New Tab
  85. iagkmpcgnlcdabaheobkeffadmffoolm Ace Smile One Piece Live Wallpaper
  86. gjlebhdhmjiahfcefjanmjcipihapcob Lone Samurai Live Wallpaper
  87. cdokinnfpnmkkieepnnncahhgjkbnfip Porsche 911 Wallpapers New Tab
  88. bbggeccdbfplmmpdbjgmkkaofbjncnkc Minecraft Creeper Live Wallpaper
  89. pcadkpnfmffnldeidifelohmkebdddjn Autumn Lamborghini Live Wallpaper
  90. bifidmiaihofppodiocakodjjniiodcc Minato & Naruto Live Wallpaper
  91. dlfjpodlhgogdiokffnejehokghbdgca Hitsugaya Toshiro Live Wallpaper
  92. efdcnjhnhbnbcclppmfdgppjndkjince Nissan GTR Wallpapers New Tab
  93. pfoehpcdijnjnlbeekjpndlfengadhba Boruto Uzumaki Live Wallpaper
  94. loonegbofnbcimpgbhnhlmhgfaidodbf Bart Simpson Live Wallpaper
  95. gmcfalbhfnhpgffchgogpnlmdgalbeml Audi RS Wallpapers New Tab
  96. jlkogclddcocddkbgleneedobmfcflji Keroppi Wallpapers New Tab
  97. nlllgkfjdekpcibpgakffbdlgbbbfnkl GTA 6 Wallpapers New Tab
  98. feamnjpoiogkfkiihejgjlofhblfbebf Deadpool Live Wallpaper
  99. obpcedpondgemjpohgikkooejmnbkpnd Minecraft Sword Live Wallpaper
  100. aadfnjeeifjafcgmfdjacmllmokcalcc Chelsea FC Live Wallpaper
  101. lbjopcoldneclmibpaomiencfonnlghk Rengoku Live Wallpaper Demon Slayer
  102. pcolhdbpdenlnpdhbcodnfebjkbgidaf Sasuke Uchiha Wallpapers New Tab
  103. ccbogfjhjlbclkgglnmdjommgndhaack Pokemon Wallpapers New Tab
  104. ajhpfcgpnkmokhpkchoonflmbemhcece Mercedes-AMG Wallpapers New Tab
  105. dcfplngdkjdeadfbnnklpnfpannnbjpk Puss in Boots Live Wallpaper
  106. nplcbealebpofbdcgajeddfidbgbogao Honda CBR1000RR-R Live Wallpaper
  107. nolehnmgjhncihbcganldhggmlbjplin Saitama Live Wallpaper - One Punch Man
  108. ilicobgjklfepgokldofhpdolhkminom Lamborghini Autumn Live Wallpaper
  109. ocieoagpcmmebfhhgakmlijmdnifbcag Angry Birds Wallpapers New Tab
  110. dhlkhbfacnmldfohkfchjgkhkfolgapg Ducati Wallpapers New Tab
  111. iglemaflhcmkkepecnoibopljmocgmld Attack on Titan Wallpapers New Tab
  112. eibdnpjboejipjmbkodlbcjlmdjikpjf Porsche 911 Turbo Live Wallpaper
  113. noabkafiljbjmpbfafppbfclccikkafl Pink Hello Kitty Live Wallpaper
  114. inkcephcpbbfnikbgdklmnpjgbanginn Chibi Anime Wallpapers New Tab
  115. dfcklcdpnbecfbjipopoeigjipfmnmle Lionel Messi Power Live Wallpaper
  116. ieildpjdcdcakalhlckdlfcejfddgdcj Brook Live Wallpaper - One Piece
  117. eoilhlidnimmdpafpgiehnmeoedjagge Rick and Morty Wallpapers New Tab
  118. edmogjhhhoikmgdchmfgmdfnajnfpopf Denji Wallpapers New Tab
  119. fjeahbfapbkbpaeijlhjokafegcgakmm Mercedes-Benz E-Class Wallpapers New Tab
  120. bdjlclmlpcdhiclbimfhhgpgilbeboof Harley Davidson Wallpapers New Tab
  121. odkhdfbfgaogiiilllhhgaflifcppnge Mickey Mouse Wallpapers New Tab
  122. jcnjcmfpmcdhkhloilpalealdbofanko Lamborghini Urus Wallpapers New Tab
  123. nkpdoonhinmfijbgjhhehhoojicoagdi Baki Hanma Wallpapers New Tab
  124. hfnikhbgpncbgfjnnccinpbijbaekaon Fallout Vault Boy Live Wallpaper
  125. njgifpepampdppjhncejlkkbmnigpcdl Mob Psycho 100 Wallpapers New Tab
  126. cnnafooohihkcoenaemoplnapabpmaak Ghost of Yotei Live Wallpaper
  127. gjjpikdggjehfjlpgndjhjdnljenndig BMW 8 Series Wallpapers New Tab
  128. celcpebbklhbkakkmaiagcgdbfamcggo Guts Wallpapers New Tab (dead service worker)
  129. fnjofkjppepnhofinhhiobdigngbfaig Hunter x Hunter Wallpapers New Tab
  130. gpjofbomakaiicnnomapefkleamhphle PUBG Wallpapers New Tab
  131. nphllmhkkoiaelncflmenjabjcdhplje Aggretsuko Live Wallpaper
  132. lhhoicpajfbijboekonjnedpicpdijfe Dark Anime Wallpapers New Tab
  133. bipegidgofcllkbegbgeeoeodlglohof Naruto Live Wallpaper - Uzumaki Hokage
  134. goadfckeiedppmgdhbaceoiffbppkknf Care Bears Wallpapers New Tab
  135. gjpinhcpfmeokkonngflhkolacglkpmh Doom Rampage Live Wallpaper
  136. jfbalacimgcefdnniabmbejpgnhdhgng Izuku Midoriya Wallpapers New Tab
  137. jpmhndngfnbfdpgdbombckddiflphpao Cristiano Ronaldo Golden Live Wallpaper
  138. ojlbdnmdbhjgkljldaogkoabhabjoadg Gintoki Sakata Wallpapers New Tab (dead service worker)
  139. efhapddipneibbpcjogidfhbhhhlifdn Katsuki Bakugo Wallpapers New Tab
  140. joklccphgbkamedfgoeidmlcgjpdnlgj Kaiju No. 8 Wallpapers New Tab
  141. plbebfjeklpfmffhcknkhbbdpjfkoenc Animal Crossing - Dōbutsu no Mori Live Wallpaper
  142. jdjkbjmobobfehaohkkbenbnnaaocabc (delisted)
  143. imfibcedgmmmdikffoeipdnojhgbhjob (delisted)
  144. dljjhjgmkimljkfjboioacmepefoedlh (delisted)
  145. ijgfnklhknbjfjjbacefdgpjbkjdkfoc (delisted)
  146. ooiaicknajbjkknpnfchbgcdhmfligaj (delisted)
  147. objpdomhddblhffemlhmefbpelblakgn (delisted)
  148. kaihdoeelgmhphjindgnehgiekjeleip (delisted)
  149. dlppampnbpddlmkecbbgkgkhamchmfle (delisted)
  150. gnlmghadjomllhknpmaglmmkbabifaal (delisted)
  151. ljblneelmbapgfcbmphbnnkdofmnldjp (delisted)
  152. gdeeoecplcaghjdbpfiddgemdgdmnpbo (delisted)