OpenSSF/OSV advisory MAL-2026-6120 confirms this npm version as malicious. The package ships setup.cjs containing heavily obfuscated JavaScript with hex-mangled identifiers (_0x32549a, _0x4b2b44, _0x78c349, _0x119ac2) typical of payload-hiding techniques. A file named setup.cjs in an npm package is structurally positioned to be invoked from a lifecycle hook (preinstall/install/postinstall) or required at module load...
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in @caspianph/storyteller (npm)
Details
The package ships setup.cjs containing heavily obfuscated JavaScript with hex-mangled identifiers (_0x32549a, _0x4b2b44, _0x78c349, _0x119ac2) typical of payload-hiding techniques. A file named setup.cjs in an npm package is structurally positioned to be invoked from a lifecycle hook (preinstall/install/postinstall) or required at module load. Legitimate npm packages do not obfuscate their install-time code; obfuscation in this position is overwhelmingly used to hide network beacons, credential reads, or dropper logic from casual inspection.
Decision reason
OpenSSF Malicious Packages via OSV confirms @caspianph/storyteller@1.1.13 as malicious (MAL-2026-6120): Malicious code in @caspianph/storyteller (npm)