OpenSSF/OSV advisory MAL-2026-13360 confirms this npm version as malicious. The package is published as a chalk/tinygradient color-gradient wrapper, and its ESM entrypoint dist/index.js matches that description. The CJS main dist/index.cjs diverges: at module load it reconstructs an AES-256-CBC key by reading byte arrays from sibling files dist/_a.cjs, dist/_b.cjs, and dist/_c.cjs, XORing them with the constants 17, 91, and 53, concatenating the results, and passing that through scryptSync...
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in uzair-rajput-new (npm)
Details
The package is published as a chalk/tinygradient color-gradient wrapper, and its ESM entrypoint dist/index.js matches that description. The CJS main dist/index.cjs diverges: at module load it reconstructs an AES-256-CBC key by reading byte arrays from sibling files dist/_a.cjs, dist/_b.cjs, and dist/_c.cjs, XORing them with the constants 17, 91, and 53, concatenating the results, and passing that through scryptSync alongside a hex IV literal. The derived key is used with createDecipheriv('aes-256-cbc',...) to decrypt a large embedded base64 blob, and the resulting source is executed via new Function('module','exports','require','__dirname','__filename', _x)(...). The stated purpose (color gradients) has no legitimate need for an encrypted payload with a key split across three sibling files and evaluated at require-time; the split-key + AES + new Function pattern conceals the payload from static inspection, and the divergence between the benign ESM twin and the obfuscated CJS entrypoint indicates deliberate concealment. Every require() of this package on the installer's host runs attacker-controlled code with the process's privileges.
Decision reason
OpenSSF Malicious Packages via OSV confirms uzair-rajput-new@1.3.0 as malicious (MAL-2026-13360): Malicious code in uzair-rajput-new (npm)