VYPR

npm · Malicious package advisory

Malware

next-bignumber.js

MAL-2026-6855

Malicious code in next-bignumber.js (npm)

Details


---
_-= Per source details. Do not edit below this line.=-_

## Source: amazon-inspector (615f1e472f3fec95854738e64a4e4883676d514db833ca3bfa7a1008c0253a57)
Package impersonates the widely-used `bn.js` crypto library: README, repository URL, logo, and source files are copied verbatim from indutny/bn.js, but the package is published under an unrelated author. The `package.json` `author` field is `craig silverman` while `homepage` and `repository` point at `github.com/indutny/next-bignumber.js` (Fedor Indutny is the real bn.js maintainer), and the README retains the upstream sponsor links to `github.com/sponsors/indutny` — identity-spoofing metadata designed to mislead installers into believing they are getting an indutny package. The package adds a non-bn.js runtime dependency, `random-string-64`, with no mathematical purpose: `lib/bn.js:40` does `const getUniqueID = require('random-string-64').default;` (loaded at module top level on every `require('next-bignumber.js')`) and `BN.prototype.toString` invokes `getUniqueID(64); var test=213;` on the hot path of every crypto operation that calls `.toString()` on a BN (Ethereum, secp256k1, and similar workflows hit this constantly). Whatever `random-string-64` ships executes in the installer's/consumer's process on import and on every numeric stringification. The combination of a copied-upstream typosquat targeting a top-tier crypto library, mismatched/spoofed author metadata, and a gratuitous transitive dependency wired into a hot code path is a namespace-abuse dropper shape — the lure package itself is thin, but installing it silently pulls `random-string-64` into the installer's tree and executes it.

## Source: ghsa-malware (cac4f683d978bbfcebc9eb96a314e21c97d5d7874f023377d78c51697ea8c074)
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.

Compromised versions (1)

  • 1.0.0

Any computer that installed or ran a compromised version should be considered fully compromised. Rotate every secret on that machine from a clean environment.