{"id":"MAL-2026-15617","summary":"Malicious code in skxcmwuncbg2 (npm)","details":"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.\n\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (60c1c0a80ae08be7c0f192601f75b94299e828ba08ba156d149383b443e31645)\nThe package was found to contain malicious code or consuming dependency that contains malicious code\n","modified":"2026-09-09T03:30:14.572056368Z","published":"2026-08-26T14:55:09Z","database_specific":{"malicious-packages-origins":[{"modified_time":"2026-08-31T17:53:04Z","sha256":"60c1c0a80ae08be7c0f192601f75b94299e828ba08ba156d149383b443e31645","source":"amazon-inspector","versions":["1.0.0"],"id":"IN-MAL-2026-019239","import_time":"2026-08-31T18:22:26.210551623Z"},{"id":"IN-MAL-2026-019795","import_time":"2026-09-09T03:21:54.39339615Z","modified_time":"2026-09-09T02:46:59Z","sha256":"e20856a7cfc3ef9e56ce1ad9f56a971a44a1f24d5d23f13ca476902050f7322f","source":"amazon-inspector","versions":["1.0.1"]}]},"references":[{"type":"WEB","url":"https://www.ox.security/blog/research-clickfix-phishing-npm-packages/"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/skxcmwuncbg2/v/1.0.0"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/skxcmwuncbg2/v/1.0.1"}],"affected":[{"package":{"name":"skxcmwuncbg2","ecosystem":"npm","purl":"pkg:npm/skxcmwuncbg2"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}],"versions":["1.0.0","1.0.1"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"tlsh":"3b13642163c03850260b6f6b772bf3e5f625295eb1d8884ff15cbc44eb9a908fad1536","path":"index.html","sha256":"d0f54f5158adcbf72ea073e2eea7f18560daa07a8e7a2bb92ced75b4fa03a4f4"}],"package_integrity":[{"filename":"skxcmwuncbg2-1.0.0.tgz","hashes":{"sha1":"6fa1cfba8413692781926450b3592ebabcb02e07","sha512_sri":"sha512-1IZABJeBd8l9fAWErRpJHEHUYdOs++wS+ND2OiwpGDSLqOMocFvkfBBqKnb0W31h0N9xz9oQWKIVrU7iR/qfsA=="}}]},"iocs":{"files":[{"digests":{"sha256":"d0f54f5158adcbf72ea073e2eea7f18560daa07a8e7a2bb92ced75b4fa03a4f4"},"note":"Fake Cloudflare Turnstile page bundled as the package's main entry (from v1.0.0, the latest published version)","paths":["index.html"],"source":"PACKAGE_ARCHIVE"}],"domains":["api.keyval.org"]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/skxcmwuncbg2/MAL-2026-15617.json"}}],"schema_version":"1.9.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"},{"name":"OX Security","contact":["https://www.ox.security/"],"type":"FINDER"}]}