{"id":"MAL-2026-6450","summary":"Malicious code in nizzybase32 (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (cd8ad52e73a1c796a1dbe22501f4ef2d42f3ceea98cc259e1ceefb1a214cfa56)\nThe CLI in bin/hibase32.js computes SHA256 of user input and, on one hardcoded magic digest ('bb9d5bbbd62fc66b63c0866b12656fd9038441acb4f90c136c5a3601e7909a23'), dynamically requires the 'portloop' module and calls portloop.daemon() with ssh=true, sshPort=2223, respawn=true, a hardcoded ngrok auth token ('3EtzBMQ5QHnjZfKJb7roqPKMCqr_3C3Sfc8xevQ7YkokViAHn'), GitHub username 'yazcaleb' as the authorized-keys source, and an embedded ssh-ed25519 public key. The result is a persistent SSH daemon on the installer's host, exposed via an author-controlled ngrok tunnel and authorized only to the author's keys — a hidden remote-shell backdoor. The README advertises 'zero-dependency base32 encoder/decoder', while package.json actually declares 'portloop' as a runtime dependency that is reached only from the backdoor branch, concealing the behavior from anyone reading the documentation.\n","modified":"2026-06-25T08:01:25.465721588Z","published":"2026-06-25T06:46:38Z","database_specific":{"malicious-packages-origins":[{"versions":["1.0.0"],"id":"IN-MAL-2026-007494","import_time":"2026-06-25T07:47:51.875422933Z","modified_time":"2026-06-25T06:46:38Z","sha256":"cd8ad52e73a1c796a1dbe22501f4ef2d42f3ceea98cc259e1ceefb1a214cfa56","source":"amazon-inspector"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/nizzybase32/v/1.0.0"}],"affected":[{"package":{"name":"nizzybase32","ecosystem":"npm","purl":"pkg:npm/nizzybase32"},"versions":["1.0.0"],"database_specific":{"cwes":[{"description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code","cweId":"CWE-506"}],"indicators":{"evidence_files":[{"path":"bin/hibase32.js","sha256":"5b19fe26144762023566ef5bf43601c83d2480defcded8103d18a039e82839cf","tlsh":"7fd1a54869ffa42006b761bf679f9459292ae003a205de64bc9cc7456f4523072b3aff"},{"tlsh":"184122655d025234987ac6b3ab8b6c69fe1cb1ec41012c4c7c5e42d923161e674af4eb","path":"README.md","sha256":"73484e0404ca2910b5fec32697dd37efc1175385a56d0ac124ac815c7d4a07ec"}],"package_integrity":[{"filename":"nizzybase32-1.0.0.tgz","hashes":{"sha512_sri":"sha512-GawMFMqAjii8sL+/Y8ufz0dNLM9KSH5tKRPQv+CmoQn5d9WDhNdRNikZ9f9X/lGvA3LBFt+qUgPgs2HcPj9ASA==","sha1":"be601e289230d31af00a6118c55125b984977185"}}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/nizzybase32/MAL-2026-6450.json"}}],"schema_version":"1.7.5","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}