ClickFix Phishing Pages Discovered in 24 npm Packages

Share

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.

  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.

image

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

image

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

image

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:

image

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.

image

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.

image
image

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 

image

Affected Packages

PackagePublished (UTC)FamilyStatus
bgzxcuite22026-08-04 07:17Microsoft TyposquatTaken down
prezdentkxheiw2026-08-06 06:22Microsoft TyposquatTaken down
egair08102026-08-10 07:35Microsoft TyposquatTaken down
mnteckets2026-08-10 11:02Microsoft TyposquatTaken down
airdzticket2026-08-11 08:17Microsoft TyposquatTaken down
egypt08112026-08-11 09:06Microsoft TyposquatTaken down
passport8112026-08-11 09:21Microsoft TyposquatTaken down
vxhjkseuiaqkb2026-08-13 01:35Microsoft TyposquatLive
ndmushdkeqe2026-08-13 07:57Microsoft TyposquatLive
ndmxchdjxn22026-08-13 08:32Microsoft TyposquatLive
ndmfguyhoxc32026-08-13 08:44Microsoft TyposquatLive
mjsdqwocvn2026-08-14 02:28Microsoft TyposquatLive
m2fcsfyjkuxb2026-08-14 02:53Microsoft TyposquatLive
m3fdfocdoewn2026-08-14 04:13Microsoft TyposquatLive
@worrisome/reutil2026-08-14 07:14keyval new logicLive
testdgdbcsd2026-08-14 08:03Microsoft TyposquatLive
tesgfvbncsdbcv2026-08-14 08:08Microsoft TyposquatLive
mndsxcusiwlk12026-08-17 02:47keyval new logicLive
mn2adskhweox2026-08-17 03:13keyval new logicLive
mn3sadkoiewu2026-08-17 04:01keyval new logicLive
mn4xcouzvhus2026-08-17 08:17keyval new logicLive
mbxcnsuwgs12026-08-24 03:03keyval new logicLive 
skxcmwuncbg22026-08-24 04:02keyval new logicLive 
mobiwaefhxc32026-08-24 06:52keyval new logicLive

IOCs

  • login[.]microsofte[.]live
  • api.keyval.org
    • Please note that keyval.org is not malicious by itself, but can be used to store malicious payloads
  • PpihAtpV1i29jeS3Skk7XU74X2Zkd5wyzF2DOzY77k1Fz7G
  • NvGafkxVGs+z6VOGy6E43n+JQgKSUsn+S5NjXlBmcq4=

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:

OX VibeSec

Security That Moves at the Speed AI Builds

See what your AI agents decide and whether it’s safe before it runs. Connect a repo in minutes.

Get Your Software Secured