ClickFix Phishing Hidden in Malicious npm Packages

ClickFix Phishing Pages Discovered in 24 npm Packages

Moshe Siman Tov Bustan

Vitalii Chepurko

August 25, 2026

5 min read

OX Security identified and is tracking a fake Cloudflare Captcha campaign that can potentially distribute ClickFix malware through npm, and found 24 distinct malicious packages sharing the exact same malicious code.

Overview

The OX Research team is tracking a fake Cloudflare campaign being distributed on the npm registry: Our research found a total of 24 packages containing the same HTML page, with each package usually reaching between 50-300 weekly downloads before it gets removed. But downloading and installing such a package to a machine doesn’t do any harm, so why do we bother researching it?

While the malware is simply a single HTML page inside the npm package, and while downloading it wouldn’t do harm, the threat actor’s use of npm isn’t to infect developers who install it, but to use the registry and its mirrors as a safe, validated storage for the malware.

Packages are automatically mirrored through sites like unpkg, yarn, npmmirror, tencent and more. Some of them are exposing the package files directly on their servers, not just the package’s “tgz” zip. This means that anyone who opens those links that sit on an npm mirror will see a fully rendered HTML page on a secure and trusted website (the npm mirror) – thus making them free frontend hosts for malicious HTML pages and potentially other payloads as well.

Recommended Actions

  1. Treat npm mirror domains (unpkg, npmmirror, yarn, tencent) as potential phishing hosts when not used for downloading package mirrors.
  2. Add mirror URLs to phishing detection and URL-reputation pipelines.
  3. Check proxy and DNS logs for direct .html requests to mirror domains that sit inside the mirrored packages themselves.

Technical Analysis

When opening the HTML page, we’re shown a fake Cloudflare verification page, then redirected to an external website controlled by the threat actor’s remote server.

The HTML page source has logic for presenting the fake security verification, alongside obfuscated JavaScript code that sends a request to a remote server.

In the original version of the malware, it would send a request to a typosquatted Microsoft domain – login.microsofte.live

This domain was blacklisted after the first wave of the malware. When opening it in a web browser, we received the following message stating that it’s malicious:

In later versions of the malware, it uses a different domain name – https://api.keyval.org – a legitimate domain used to store key-value pairs, which the threat actor is using to get an encrypted value from the remote server and decrypt it – then loads the URL and browse to it.

Currently the remote logic transfers the user to the legitimate ChatGPT website, but it could be weaponized to deliver ClickFix or any other phishing domains when configured to by the attacker.

You can see that when mirror sites like unpkg mirror packages with HTML pages, users can browse to them directly – showing how effective it can be to use npm and it’s mirrors not just for npm malware, but for payload storage and phishing attacks on trusted domains

https://unpkg\.com/ndmxchdjxn2@1.0.0/index.html

Affected Packages

Package Published (UTC) Family Status
bgzxcuite2 2026-08-04 07:17 Microsoft Typosquat Taken down
prezdentkxheiw 2026-08-06 06:22 Microsoft Typosquat Taken down
egair0810 2026-08-10 07:35 Microsoft Typosquat Taken down
mnteckets 2026-08-10 11:02 Microsoft Typosquat Taken down
airdzticket 2026-08-11 08:17 Microsoft Typosquat Taken down
egypt0811 2026-08-11 09:06 Microsoft Typosquat Taken down
passport811 2026-08-11 09:21 Microsoft Typosquat Taken down
vxhjkseuiaqkb 2026-08-13 01:35 Microsoft Typosquat Live
ndmushdkeqe 2026-08-13 07:57 Microsoft Typosquat Live
ndmxchdjxn2 2026-08-13 08:32 Microsoft Typosquat Live
ndmfguyhoxc3 2026-08-13 08:44 Microsoft Typosquat Live
mjsdqwocvn 2026-08-14 02:28 Microsoft Typosquat Live
m2fcsfyjkuxb 2026-08-14 02:53 Microsoft Typosquat Live
m3fdfocdoewn 2026-08-14 04:13 Microsoft Typosquat Live
@worrisome/reutil 2026-08-14 07:14 keyval new logic Live
testdgdbcsd 2026-08-14 08:03 Microsoft Typosquat Live
tesgfvbncsdbcv 2026-08-14 08:08 Microsoft Typosquat Live
mndsxcusiwlk1 2026-08-17 02:47 keyval new logic Live
mn2adskhweox 2026-08-17 03:13 keyval new logic Live
mn3sadkoiewu 2026-08-17 04:01 keyval new logic Live
mn4xcouzvhus 2026-08-17 08:17 keyval new logic Live
mbxcnsuwgs1 2026-08-24 03:03 keyval new logic Live
skxcmwuncbg2 2026-08-24 04:02 keyval new logic Live
mobiwaefhxc3 2026-08-24 06:52 keyval new logic Live

IOCs

Conclusions

Threat actors keep finding and using new and novel techniques not just to deliver malware, but to use legitimate infrastructure to store their payloads and data.

When we think of malware as families of code that steal data directly from the machine they are running on, we can miss other ideas such as infrastructure abuse, using npm and its mirrors as free storage, and persistence – since npm packages can live forever in mirrors even after they are removed from the official stores.

While our analysis catches a small glimpse of what actors can do, we can expect more clever ways of abusing the npm registry to follow as long as registration and package uploads remain free, making it an easy target for actors to use and abuse.

References

An earlier evolution of this campaign was flagged by osj on X/Twitter (@inf0stache), and later covered by IntelFusions. Some of the packages are also referenced in OSV and GitHub Advisories – though the description stating that “any computer that has this package installed or running should be considered fully compromised” is misleading. Installing the packages is harmless; victims can only be infected after being redirected to a ClickFix or phishing page.

Tags: