Malicious code in test-pkg-pnpm (npm)
MAL-2026-6716 · GHSA-7grv-5j2w-4wx3
Published · Modified
Dependency scanning
Check whether test-pkg-pnpm is in your codebase
Corgea flags malicious and compromised dependencies with reachability analysis, so you fix the packages that actually run in your application instead of working through the whole lockfile.
Description
__
Source: amazon-inspector (ae5df84cbdf3092d5f7b8f405248144eacdf5119c756c97726974e547810ebec)
On npm install, the package's postinstall script (node demo-clean.js) auto-executes two installer-side actions without consent. First, openDemo() platform-branches via execSync to open https://github.com/X3r0Day/BunnyHijack in the installer's default browser and to spawn the OS calculator (calc on Windows, open -a Calculator on macOS, gnome-calculator/kcalc on Linux) — the canonical calc.exe proof of unauthenticated code execution on the installer's host. Second, cleanup() walks every ancestor directory of INIT_CWD, process.cwd(), and the user's home directory, calling fs.rmSync(..., {recursive:true, force:true}) against paths inside each ancestor's node_modules, node_modules/.pnpm, node_modules/.bin/node* shims, ~/.npm/_npx, ~/.bun/install/cache, and tmpdir entries; cleanupPackageJson() then reads each ancestor package.json and rewrites it via fs.writeFileSync after deleting matching entries from dependencies, devDependencies, optionalDependencies, and peerDependencies. The destructive recursive-force-rm operates well outside the package's own directory and reaches the user's home tree, and the spawned-process primitive can be retargeted to any binary in a future release.
Source: ghsa-malware (42ab043183eddea4feeeba6b04397cdda6189b7d4c4bfdb11197a88646a1deca)
Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
References
- PACKAGE https://www.npmjs.com/package/test-pkg-pnpm/v/1.0.1
- PACKAGE https://www.npmjs.com/package/test-pkg-pnpm/v/1.0.4
- ADVISORY https://github.com/advisories/GHSA-7grv-5j2w-4wx3
- PACKAGE https://www.npmjs.com/package/test-pkg-pnpm/v/1.0.2
- PACKAGE https://www.npmjs.com/package/test-pkg-pnpm/v/1.0.0
- PACKAGE https://www.npmjs.com/package/test-pkg-pnpm/v/1.0.3
Ready to move
Start Securing
Free, no credit card | First findings in minutes