Skip to content
supplychainattack.orgSupply chain attack incident catalog
containedcritical

Malicious code in bs58-33 (npm)

bs58-33 is a typosquat of the legitimate bs58 base58 codec that pulls in the malicious package base65-33x as a dependency. base65-33x clones base-x and exfiltrates all decoded strings (including cryptocurrency private keys and seeds) to a hardcoded C2 server before throwing an error. The attack was part of a coordinated six-package campaign published on 2026-08-11.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any npm project that installed bs58-33 or its sibling packages (bs58-15, bs58-77) during the publication window; downstream users of affected projects would inherit the exfiltration behavior.
Ecosystems
Attack vectors
Affected entities
  • bs58-33Typosquat wrapper that pulls in malicious base65-33x as a runtime dependency
  • bs58-15Sibling typosquat wrapper published in the same campaign
  • bs58-77Sibling typosquat wrapper published in the same campaign
  • base65-33xMalicious sink package that exfiltrates decoded strings to C2 server

bs58-33 is a typosquat targeting the popular bs58 base58 codec library used in cryptocurrency tooling. The package itself contains no direct malicious code; instead, it simply requires and re-exports the malicious package base65-33x as a runtime dependency (declared as base65-33x: ^5.0.1).\n\nbase65-33x is a near-verbatim clone of the legitimate base-x library. Its decode() function exfiltrates every string passed to it by POSTing the raw input to a hardcoded C2 server at http://168.231.81.80:3002/api/log before throwing an error. Because base-x and bs58 are commonly used by cryptocurrency tooling to base58-decode private keys and seeds, the exfiltrated values frequently contain cryptographic secrets.\n\nbs58-33 and its sibling typosquats (bs58-15, bs58-77) were published alongside three base65 sink packages by a single npm maintainer account (smallmantis) within a ~90-minute window on 2026-08-11, forming a coordinated delivery-plus-exfiltration campaign. Installing bs58-33 is sufficient to introduce the key-exfiltration behavior into any dependent project.\n\nThe incident was reported by the OpenSSF malicious-packages project.

Indicators of compromise

Packages
  • bs58-33
  • bs58-15
  • bs58-77
  • base65-33x
IPs
  • 168.231.81.80

Remediation

  • Immediately remove bs58-33, bs58-15, and bs58-77 from all package.json files and lock files
  • Audit npm install logs to identify all projects that installed these packages during the 2026-08-11 publication window
  • For any project that installed these packages, assume all cryptocurrency private keys, seeds, and other secrets processed through base58 decoding have been exfiltrated; rotate all affected keys and secrets
  • Review network logs for outbound POST requests to http://168.231.81.80:3002/api/log to confirm exposure
  • Update to the legitimate bs58 package from the cryptocoinjs organization
  • Implement npm package name allowlisting or dependency scanning to prevent typosquat installation

Sources

  1. GitHub Advisory GHSA-f8f3-v53p-w68x · GitHub Advisory Database

Cite this entry

"Malicious code in bs58-33 (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 11, 2026; last updated August 14, 2026. https://supplychainattack.org/incident/malicious-code-in-bs58-33-npm-16vk79

Suggest a correction

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

  1. 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
  2. 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
  3. 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
  4. 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