MAL-2026-12192Malicious code in scrollbar-hide-plugin (npm)
| Ecosystem | Package | Version |
|---|---|---|
| npm | scrollbar-hide-plugin | 1.0.1 |
{"modified":"2026-08-05T09:10:58Z","published":"2026-08-05T09:10:58Z","schema_version":"1.7.4","id":"MAL-2026-12192","summary":"Malicious code in scrollbar-hide-plugin (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (4f19e1731b591552a096b108703702b9663c1bbb8cf9c2ff6fc048f8582e8607)\nThe 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.\n","affected":[{"package":{"ecosystem":"npm","name":"scrollbar-hide-plugin"},"versions":["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"}],"indicators":{"evidence_files":[{"path":"dist/index.js","sha256":"a8a6689f02f14aa1a2fc19f7e583eebf0bfc8ab8a99f6e53918f2135fadb94d1","tlsh":"41323fe217927b9bdf1ba62afd8b970d237000b1639c2b455113ed3a73c8a55358da0f"}],"package_integrity":[{"filename":"scrollbar-hide-plugin-1.0.1.tgz","hashes":{"sha1":"0562bf19a2d2d7fdee7f70c9cec90a99ddf4306f","sha512_sri":"sha512-wAoFiVovRtJEwA91e+Mn/J+7L7cXFVOgM76E0vng9gEYEEfMCTZd2jbwSBxhudD/8NhRKGlHNK1BYnDOZrXBpw=="}}]}}}],"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/scrollbar-hide-plugin/v/1.0.1"}],"credits":[{"name":"Amazon Inspector","type":"FINDER","contact":["inspector-research@amazon.com"]}],"database_specific":{"malicious-packages-origins":[{"id":"IN-MAL-2026-014579","import_time":"2026-08-05T09:28:27.397534535Z","modified_time":"2026-08-05T09:10:58Z","sha256":"4f19e1731b591552a096b108703702b9663c1bbb8cf9c2ff6fc048f8582e8607","source":"amazon-inspector","versions":["1.0.1"]}]}}数据来源:OpenSSF Malicious Packages · Apache-2.0