OpenSSF/OSV advisory MAL-2026-3758 confirms this npm version as malicious. Package name `dotenvv-tool` impersonates the popular `dotenv` package; index.js is an admitted dummy stub ("The real payload is in postinstall.js"). The `postinstall` lifecycle script runs on `npm install` and performs wholesale harvesting of installer-owned secrets: reads `~/.npmrc` (npm publish token), `~/.env` (API keys, DB URLs, cloud credentials), and `~/.git-credentials`; enumerates...
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in dotenvv-tool (npm)
Details
Package name `dotenvv-tool` impersonates the popular `dotenv` package; index.js is an admitted dummy stub ("The real payload is in postinstall.js"). The `postinstall` lifecycle script runs on `npm install` and performs wholesale harvesting of installer-owned secrets: reads `~/.npmrc` (npm publish token), `~/.env` (API keys, DB URLs, cloud credentials), and `~/.git-credentials`; enumerates Chrome/Brave/Edge/Chromium/Vivaldi/Opera profile directories for 71 hardcoded crypto-wallet extension IDs (MetaMask, Phantom, Coinbase Wallet, Ledger, Trezor, etc.) and reads their LevelDB `.log` files for vault/mnemonic/privateKey/password patterns; scans `~/Documents`, `~/Desktop`, `~/Downloads` for files matching BIP-39 seed-phrase patterns; collects `os.hostname()` and `os.userInfo()`; and POSTs the bundle over plaintext HTTP to a hardcoded bare-IP endpoint at `http://149.28.127.35:8888` (postinstall.js line 7, with `process.env.C2_URL` override to let the operator retarget exfiltration without republishing). Author-written header comment self-describes the file as "Token harvester + Crypto wallet scanner / Runs on npm install. Silent. Zero trace."
Decision reason
OpenSSF Malicious Packages via OSV confirms dotenvv-tool@1.0.2 as malicious (MAL-2026-3758): Malicious code in dotenvv-tool (npm)