EtherHiding moves a website loader's next address into a smart contract.
EtherHiding is a loader technique that lets code on an infected website read its next script or address from a smart contract. Since 1 August we have matched EtherHiding code on 46,746 sites.
EtherHiding in numbers
Since 1 August, when our rule-match records begin, counted on 12 November 2026. How we count.
| Sites with EtherHiding code | 46,746 |
|---|---|
| Sites with a match in the last 30 days | 27,405 |
| New sites in October | 13,936 |
| Still serving EtherHiding when recaptured at least 25 days later | 15,840 of 19,172 sites (83%) |
| Sites running WordPress (captured since 25 September) | 83% |
| Named kits | 26 |
Kits compared
The 10 kits with the most sites in the last 30 days. All 25 kits are listed at the end of the page. One site can carry more than one kit. The last column counts sites recaptured at least 25 days after their first match, where there are at least 50.
| Kit | Last 30 days | All sites | First match | Still serving 25 days on |
|---|---|---|---|---|
| LenAI | 8,598 | 14,255 | 76% of 5,380 | |
| ChainBite | 8,049 | 10,869 | 85% of 3,853 | |
| GzipGnaw | 2,944 | 6,669 | 88% of 3,118 | |
| OverlayWar | 2,694 | 4,965 | 75% of 2,210 | |
| DriveSurge | 1,598 | 3,192 | 75% of 1,539 | |
| BW panel | 1,357 | 3,265 | 67% of 1,842 | |
| DoubleDonut | 1,309 | 2,263 | 77% of 1,007 | |
| NoChain | 1,214 | 3,140 | 74% of 1,582 | |
| FleetSync | 768 | 1,068 | 91% of 552 | |
| XorVeil | 692 | 826 | 78% of 131 |
What the infected sites run
26,672 of the 32,266 sites we captured since 25 September 2026 run WordPress (83%), and 1,748 sites run Joomla. Shares below are of the WordPress sites, by the version and plugins on each site's latest capture.
| WordPress version | Sites | Share |
|---|---|---|
| WordPress 7.1 | 14,916 | 56% |
| WordPress 7.0 | 2,916 | 11% |
| WordPress 6.9 | 1,818 | 7% |
| WordPress 6.8 | 1,114 | 4% |
| Other releases from 6.0 | 1,876 | 7% |
| Older than 6.0 | 1,028 | 4% |
| Rare or unreadable version | 3,004 | 11% |
| Plugin | Sites | Share |
|---|---|---|
elementor | 12,039 | 45% |
contact-form-7 | 7,520 | 28% |
elementor-pro | 5,786 | 22% |
woocommerce | 5,252 | 20% |
google-site-kit | 3,723 | 14% |
revslider | 3,386 | 13% |
wordpress-seo | 2,173 | 8% |
elementskit-lite | 1,925 | 7% |
js_composer | 1,839 | 7% |
litespeed-cache | 1,811 | 7% |
wordfence | 1,350 | 5% |
Smart contracts
24 kits read 189 contracts on Base, Polygon, BNB Smart Chain testnet, Ethereum Sepolia, BNB Smart Chain and Ethereum. Today they return 211 destinations.
EtherHiding is JavaScript on an infected website that reads code or an address from a smart contract. The loader sends a read-only eth_call through a public blockchain RPC service, decodes the reply and loads what the contract names.
infected website
-> public blockchain RPC service
-> eth_call to a smart contract
-> contract returns code or an address
-> visitor's browser loads the next script
The contract controls every infected copy
The contract address and function selector are built into the injected loader. The operator can replace the value stored in the contract without editing the infected sites again. Every copy that reads that contract follows the new value on its next visit.
Guardio Labs named the technique EtherHiding in October 2023 after finding ClearFake loaders on compromised WordPress sites reading malicious JavaScript from BNB Smart Chain (Guardio Labs). The eth_call read creates no transaction on the chain and costs the reader no gas.
That separation makes takedown harder. Removing the current script host interrupts one route, but the injected code and contract remain.
Chains and kits
The loaders we track read Polygon, BNB Smart Chain mainnet, BNB Smart Chain testnet, Ethereum mainnet, Ethereum Sepolia and Base. They carry several public RPC endpoints and try another when one fails.
The ClickFix kits with their own pages here use several versions of the pattern:
- BW panel reads its panel address from Polygon.
- DoubleDonut reads a whole script from BNB Smart Chain testnet.
- OverlayWar decodes staging hosts stored on Polygon.
- GzipGnaw decrypts and decompresses a stage from Sepolia.
- ChainBite walks through several BNB Smart Chain testnet contracts.
- LenAI reads controller addresses from Polygon and Sepolia. One build reads a block number from a BNB Smart Chain testnet contract and runs the lure stored in that block's transaction log.
- NoChain stores scripts and a lure page in a contract on Base.
- CLEARSHORT uses router, logic and storage contracts on BNB Smart Chain.
- CookieDam has a build that reads its overlay host from Ethereum mainnet.
HexMage uses the same staging idea for a payment-card skimmer. Its loader asks a Sepolia contract where to find the per-site skimmer script. BaseTask decrypts a controller URL read from a Base contract, then sends AES-GCM-encrypted get_bundle and get_resource requests. The returned task lists select JavaScript to cache in IndexedDB or inject through Blob URLs and inline script elements.
SuperPixel, another card skimmer, reads its collection host from an Ethereum mainnet contract. FileDrop runs fake software download sites: copies of BleachBit, FileZilla, Notepad++ and other free tools whose Download buttons read the download server from a Base contract and hand the visitor a ticketed ZIP to run.
Contract history
We read 189 registered contracts every day. The EtherHiding contract tracker shows each contract's family, chain, address, current destination and destination history. The tracker lists the first and last date for every destination we decoded.
What we see across infected sites
| Month | New sites |
|---|---|
| September | 22,271 |
| October | 13,936 |
| November so far | 3,292 |
83% of the EtherHiding sites captured since 25 September run WordPress. Of the 19,172 sites recaptured at least 25 days after their first match, 15,840 still served EtherHiding code (83%).
Checking a site
Open the public page while logged out and watch its network requests. On a site with no blockchain feature, trace:
- JSON-RPC requests whose method is
eth_call - requests to public Polygon, BNB Smart Chain, Sepolia or Base RPC services
- a contract address and function selector embedded in page JavaScript
- code that strips ABI padding, decodes Base64, decrypts a string or creates a script element from the reply
Then find the script in the page source, theme, plugin or cached JavaScript that created the call. Remove the injection and the access used to place it, then rotate site and hosting credentials. Blocking the current destination leaves the loader in place.
Kits
LenAI
8,598 sites in the last 30 days
LenAI is a packed ClickFix loader that reads its controller from a Polygon smart contract.
ChainBite
8,049 sites in the last 30 days
ChainBite is a ClickFix kit that stores each stage of its attack in a different BNB Smart Chain testnet contract.
GzipGnaw
2,944 sites in the last 30 days
GzipGnaw is a ClickFix loader that stores its next stage encrypted and compressed in an Ethereum Sepolia contract.
OverlayWar
2,694 sites in the last 30 days
OverlayWar is a ClickFix kit that reads its staging host from Polygon contracts and deletes other kits' overlays before showing its own.
DriveSurge
1,598 sites in the last 30 days
DriveSurge is a ClickFix kit delivered by a fake WordPress analytics plugin, ganalytics-tracker.
BW panel
1,357 sites in the last 30 days
BW panel is a ClickFix kit that finds its control panel through Polygon contracts and lets the panel choose one of nine lures for each visitor.
DoubleDonut
1,309 sites in the last 30 days
DoubleDonut is a ClickFix kit that plants a loader on WordPress sites and reads its next script from a BNB Smart Chain testnet contract.
NoChain
1,214 sites in the last 30 days
NoChain is a ClickFix kit that keeps its scripts and its lure page inside a smart contract on Base, loaded by a fake WordPress plugin.
FleetSync
768 sites in the last 30 days
FleetSync is a WordPress backdoor that polls a controller for work and writes an autologin hook into theme files.
XorVeil
692 sites in the last 30 days
XorVeil is a fake Cloudflare overlay that XOR-decodes its clipboard command and controller.
HexMage
331 sites in the last 30 days
HexMage is a web-skimmer kit whose loader reads a per-site script host from an Ethereum Sepolia smart contract.
CLEARSHORT
93 sites in the last 30 days
CLEARSHORT is the JavaScript downloader Google's threat intelligence group attributes to UNC5142, and the successor to ClearFake.
TwinKey
56 sites in the last 30 days
TwinKey is a two-key wrapper whose decoded stage reads a script host from Polygon.
CookieDam
44 sites in the last 30 days
CookieDam is a footer-injected loader that adds remote HTML to a compromised page.
SuperPixel
26 sites in the last 30 days
SuperPixel is a WooCommerce card skimmer appended to a shop's own scripts, usually the copy of jQuery WordPress ships.
EnvelopeDam
24 sites in the last 30 days
EnvelopeDam is an injected website loader that reads a controller from Polygon and unwraps a page-specific encrypted stage in the browser.
ProxySig
22 sites in the last 30 days
ProxySig retrieves code through a same-origin contract relay and executes the Base64 response.
FileDrop
20 sites in the last 30 days
FileDrop is a kit for fake software download sites copying BleachBit, FileZilla, Notepad++, OBS and other free tools.
BaseTask
17 sites in the last 30 days
BaseTask is a wallet tasking loader that reads its controller from a Base smart contract and requests JavaScript through an encrypted protocol.
RTCGnaw
16 sites in the last 30 days
RTCGnaw is a Magecart card skimmer for WooCommerce and Magento shops.
PolyTDS
5 sites in the last 30 days
PolyTDS is an obfuscated loader that reads its next script host from Polygon.
LinkHiding
3 sites in the last 30 days
LinkHiding is a WordPress SEO-spam backdoor with an Ethereum-backed controller address.
PermitKey
2 sites in the last 30 days
PermitKey is a wallet drainer on look-alike DeFi and reward-claim pages.
TripleGnaw
2 sites in the last 30 days
TripleGnaw is a packed website loader that reads JavaScript from a BNB Smart Chain testnet contract and opens a WebSocket for its next stage.
TestnetTail
1 site in the last 30 days
TestnetTail is a website loader that resolves its HTML source through a BNB Smart Chain testnet contract.