Published as part of a ClickFix-style fake-CAPTCHA phishing campaign documented by OX Security (see reference). The package's only file is index.html, declared as the npm "main" entry; package.json defines no preinstall/install/postinstall/prepare lifecycle script, so the payload does not execute at npm install time. index.html renders a fake Cloudflare Turnstile verification widget. An obfuscator.io-obfuscated inline script POSTs a hardcoded per-package "hostKey" to https://api.keyval.org/get, receives a base64-encoded IV:ciphertext pair, decrypts it client-side via the Web Crypto API (AES-CTR) using an embedded key to obtain a redirect URL, appends the visitor's original query-string parameters, and navigates the browser there via window.location.replace(). This "dead drop" design lets the operator change the phishing destination for every package sharing a hostKey without republishing to npm; OX Security observed keyval.org-served destinations including a typosquatted Microsoft login page and, at time of writing, a ChatGPT redirect. The package therefore does not attack the installing machine directly; it is used as a static file host on the npm CDN (e.g. unpkg/jsDelivr) so the index.html can be linked to and opened directly in a victim's browser as a phishing/ClickFix landing page. Published by npm user "johnvaldez9a" as part of a burst of near-identical single-purpose packages published between 2026-08-04 and 2026-08-24 that share this same fake-Turnstile-redirect page structure.
-= Per source details. Do not edit below this line.=-
The package was found to contain malicious code or consuming dependency that contains malicious code
{
"malicious-packages-origins": [
{
"id": "IN-MAL-2026-019263",
"modified_time": "2026-08-31T17:56:30Z",
"import_time": "2026-08-31T18:22:27.27888156Z",
"source": "amazon-inspector",
"sha256": "32c68fcb2799679abb673f84256009f845bec53cbe23dc411ceff244a589c525",
"versions": [
"1.0.0"
]
}
]
}[
{
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code",
"cweId": "CWE-506"
}
]
{
"package_integrity": [
{
"filename": "mn2adskhweox-1.0.0.tgz",
"hashes": {
"sha512_sri": "sha512-agEunoHV5/5adVTlp4zl7+Zfuh5ir77fddgaeEJ5OMRd2Ci8Tos8nhzA/WD47Rf4/XQrV8c7zAVsJKWPlt1v4g==",
"sha1": "a983daf5242ebba820dc26499d741ab03608454e"
}
}
],
"evidence_files": [
{
"path": "index.html",
"tlsh": "8403864023c23481150b9b767b1b73c6e52d696a754a888bf16c3c54ffa6e0cebe9930",
"sha256": "a67a5e73a767f32d7233a43f47149e60f540f6d65b3a34d7f14cd2f6ebd08a04"
}
]
}
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/mn2adskhweox/MAL-2026-15609.json"
{
"files": [
{
"digests": {
"sha256": "a67a5e73a767f32d7233a43f47149e60f540f6d65b3a34d7f14cd2f6ebd08a04"
},
"source": "PACKAGE_ARCHIVE",
"note": "Fake Cloudflare Turnstile page bundled as the package's main entry (from v1.0.0, the latest published version)",
"paths": [
"index.html"
]
}
],
"domains": [
"api.keyval.org"
]
}