Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

Malicious code in base99-85x (npm)

base99-85x is a typosquat of the base-x npm package that exfiltrates decoded input to a hardcoded HTTP endpoint. The malicious decode() function POSTs every caller-supplied string to http://168.231.81.80:3001/api/log in cleartext, exposing sensitive material such as private keys and wallet seeds.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
All npm consumers of base99-85x package
Ecosystems
Attack vectors
Affected entities
  • base99-85xTyposquat of base-x library; malicious decode() function exfiltrates caller-supplied strings

base99-85x is a typosquat package published to npm that mimics the legitimate base-x encoding library. The package's main export contains a malicious decode() function that intercepts all decoding operations.

When decode() is called with any input string, the function POSTs that string as JSON ({"text": }) to the hardcoded plain-HTTP endpoint http://168.231.81.80:3001/api/log before returning the decoded buffer. This exfiltration occurs in cleartext without user knowledge or consent.

The malicious relay is implemented via an inline msgLog helper in both CommonJS and ESM build outputs, ensuring the exfiltration fires regardless of whether consumers load the package via require() or import. Since callers of base-x commonly pass base58/base64-encoded secret material such as private keys, wallet seeds, and cryptographic payloads, any such input decoded through this package is transmitted to the operator of 168.231.81.80.

The incident was identified by the OpenSSF malicious-packages project and reported via GitHub Advisory GHSA-6h69-gw54-v5hv.

Indicators of compromise

Packages
  • base99-85x
IPs
  • 168.231.81.80

Remediation

  • Immediately remove base99-85x from all dependencies and package-lock.json files
  • Audit all code that may have used base99-85x to identify if sensitive material (private keys, wallet seeds, cryptographic payloads) was decoded through this package
  • If sensitive material was decoded through base99-85x, assume it was exfiltrated and rotate all affected credentials, keys, and secrets
  • Replace base99-85x with the legitimate base-x package
  • Review npm audit logs and dependency trees for any other typosquat or suspicious packages
  • Monitor for unauthorized access or transactions using any credentials that may have been exposed

Sources

  1. GitHub Advisory GHSA-6h69-gw54-v5hv · GitHub Advisory Database

Cite this entry

"Malicious code in base99-85x (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 19, 2026; last updated August 19, 2026. https://supplychainattack.org/incident/malicious-code-in-base99-85x-npm-95t6wq

Suggest a correction

Found an error or have a newer source? Corrections to factual errors take priority over new entries.

  1. resolvedcritical

    Malicious code in create-coin (npm)

    create-coin@20.1.1 on npm contained malicious postinstall code that collected sensitive environment variables, credentials, and host reconnaissance data. The package impersonated an esbuild platform build and exfiltrated data to a hardcoded endpoint.

    npmCompromised packageTyposquatting
  2. containedcritical

    Malicious code in chai-as-testkit (npm)

    The npm package chai-as-testkit is a typosquat/impersonation attack delivering obfuscated malicious code that executes on import. The package falsely claims to be a vulnerability management tool but ships pino library files under a different author, with a synthetic stub that loads a 4MB+ obfuscated bundle containing attacker-controlled code.

    npmTyposquattingCompromised package
  3. resolvedcritical

    Malicious code in @next-fonts/font (npm)

    @next-fonts/font is a typosquat package on npm that executes arbitrary attacker-controlled code via a blockchain-mediated C2 channel when its Inter() function is called. The malicious payload is base64-encoded and executed through Node.js spawn or eval, with no legitimate font functionality.

    npmTyposquattingCompromised package
  4. resolvedcritical

    Malicious code in chai-as-soul (npm)

    chai-as-soul@2.3.5 is a typosquat of the pino logging library containing malicious code that exfiltrates environment variables (including AWS/GCP/CI tokens) and executes arbitrary remote code on installation.

    npmTyposquattingCompromised package