-= Per source details. Do not edit below this line.=-
The package's main entry (dist/index.js) appends an obfuscated payload — wrapped in eval(atob(...)) with require targets and URLs hidden in \uXXXX escapes — to an otherwise legitimate Tailwind scrollbar-hide plugin. When the package is required or imported, the payload queries Ethereum RPCs for transactions from a hardcoded address (0xa322e5f3d311d3080e6f0121063e9adc2490ef1a), decodes attacker IPv4 addresses from the transaction to field bytes, and fetches XOR-encoded JavaScript from those IPs on port 443 (paths /0x/cls and /0x/ls). The fetched code is then executed both via eval in-process and via spawn('node', ['-e',...], {detached:true}).unref() as a detached child process. The C2 destinations are resolved dynamically from on-chain data, so the operator can rotate infrastructure without republishing the package. The name resembles the legitimate tailwind-scrollbar-hide package (reslear/tailwind-scrollbar-hide), consistent with a name-squat trojan.
{
"malicious-packages-origins": [
{
"import_time": "2026-08-05T09:28:27.397534535Z",
"id": "IN-MAL-2026-014579",
"sha256": "4f19e1731b591552a096b108703702b9663c1bbb8cf9c2ff6fc048f8582e8607",
"modified_time": "2026-08-05T09:10:58Z",
"source": "amazon-inspector",
"versions": [
"1.0.1"
]
}
]
}[
{
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code",
"cweId": "CWE-506"
}
]
{
"evidence_files": [
{
"path": "dist/index.js",
"tlsh": "41323fe217927b9bdf1ba62afd8b970d237000b1639c2b455113ed3a73c8a55358da0f",
"sha256": "a8a6689f02f14aa1a2fc19f7e583eebf0bfc8ab8a99f6e53918f2135fadb94d1"
}
],
"package_integrity": [
{
"filename": "scrollbar-hide-plugin-1.0.1.tgz",
"hashes": {
"sha1": "0562bf19a2d2d7fdee7f70c9cec90a99ddf4306f",
"sha512_sri": "sha512-wAoFiVovRtJEwA91e+Mn/J+7L7cXFVOgM76E0vng9gEYEEfMCTZd2jbwSBxhudD/8NhRKGlHNK1BYnDOZrXBpw=="
}
}
]
}
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/scrollbar-hide-plugin/MAL-2026-12192.json"