power-assert-plusnpm
Advisory published Updated
power-assert-plus is a confirmed malicious npm package (MAL-2026-13958) that typosquats a legitimate package to trick installs (malicious version 1.2.2). Do not install it — remove it immediately and rotate any exposed credentials.
Malicious code in power-assert-plus (npm)
What this malware does
power-assert-plus is a typosquat of power-assert. On every require(), index.js detach-spawns node build/power-assert-plus.js. That build file is obfuscator.io-encoded (string-array + custom base64 alphabet) and, after decoding, dynamically requires http/https, GETs a remote URL, and passes the response body to new Function('require', body)(require), executing attacker-controlled JavaScript with Node's require in the installer's process context. The README frames build/power-assert-plus.js as a browserify bundle of the library, but the shipped 4KB payload is a network loader with no assertion library code; the module name, host, and eval sink are all hidden behind the string-array decoder.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
TyposquatFind it
Search your lockfiles and build artifacts for power-assert-plus (version 1.2.2).
If you installed it — respond
power-assert-plus is a typosquat — you almost certainly intended a legitimately-named package. Remove power-assert-plus, install the correct package, and rotate any secrets exposed during the install since post-install scripts may have already run.
Did it already run?
If power-assert-plus was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
Detect & block this
O3 blocks power-assert-plus-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the malicious outbound activity and severs the channel.