{"affected":[{"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/solidity-cat/MAL-2026-18694.json"},"package":{"ecosystem":"npm","name":"solidity-cat","purl":"pkg:npm/solidity-cat"},"versions":["2.0.1"]}],"credits":[{"contact":["https://cyberxyz.io"],"name":"CyberXYZ","type":"FINDER"}],"database_specific":{"iocs":{"domains":[],"files":[{"digests":{"sha256":"0d4838d9e98f1870b3c44eadb1d0fd94e71526004752160f9db4c7d065e63874"},"paths":["index.js"]},{"digests":{"sha256":"4e1c3058548619a9a3916869cd445d73563cbed527add4aca44067445d9c2df5"},"paths":["lib/tools.js"]}],"ips":[],"urls":[]}},"details":"solidity-cat ships index.js, which is byte-identical to the hardhat-hold payload: an obfuscator.io-style loader built on execSync and axios that fetches and runs a second stage. It is a new name for the hardhat-hold (MAL-2026-14246) campaign; the file hashes below match that record's evidence. The package presents itself as an ordinary utility, so the code runs on import or install without the user knowing.","id":"MAL-2026-18694","modified":"2026-11-05T05:15:05.967049025Z","published":"2026-10-26T00:00:00Z","references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/solidity-cat"},{"type":"WEB","url":"https://osv.dev/vulnerability/MAL-2026-14246"}],"schema_version":"1.9.2","summary":"Malicious code in solidity-cat (npm)"}