OpenSSF/OSV advisory MAL-2026-6099 confirms this npm version as malicious. Package declares a postinstall hook ("postinstall": "node run.js") that auto-executes run.js on `npm install`. run.js imports os, fs, http, https, and child_process and collects host identifiers (os.hostname(), os.userInfo(), os.platform(), process.env.USER, process.cwd()), reads files via fs.readFileSync / fs.existsSync, base64-encodes data via Buffer.from(...).toString('base64'), and POSTs the results to remote...
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in stream-read-35cf (npm)
Details
Package declares a postinstall hook ("postinstall": "node run.js") that auto-executes run.js on `npm install`. run.js imports os, fs, http, https, and child_process and collects host identifiers (os.hostname(), os.userInfo(), os.platform(), process.env.USER, process.cwd()), reads files via fs.readFileSync / fs.existsSync, base64-encodes data via Buffer.from(...).toString('base64'), and POSTs the results to remote endpoints over http/https (multiple POST call sites at lines 135, 138, 347, 354). The package name is a short random-suffixed identifier with no documented purpose, and the only effect of installing the package is the reconnaissance + exfiltration payload. This is the canonical install-time stealer shape.
Decision reason
OpenSSF Malicious Packages via OSV confirms stream-read-35cf@1.0.0 as malicious (MAL-2026-6099): Malicious code in stream-read-35cf (npm)