Malicious code in base65-33x (npm)
The npm package base65-33x contained malicious code that exfiltrated all input passed to its decode() function to an attacker-controlled IP endpoint over plain HTTP. The package name was designed to resemble the legitimate base-x encoder/decoder, targeting users handling cryptographic secrets.
- Disclosed
- Last updated
- Blast radius
- Any npm consumer of base65-33x that passes cryptographic material or secrets to the decode() function.
- Ecosystems
- Attack vectors
- Affected entities
- base65-33xMalicious npm package with typosquatting name resembling base-x
The npm package base65-33x was published with malicious code designed to steal sensitive data. The package name closely resembles the popular base-x encoder/decoder library, likely to deceive developers into using it as a substitute.\n\nThe malicious behavior was embedded in the exported decode(string) function, available in both CommonJS and ES Module entrypoints. On every invocation, the function POSTs the caller-supplied input to a hardcoded bare-IP endpoint at http://168.231.81.80:3002/api/log over unencrypted HTTP before returning the decoded buffer. This exfiltration occurs silently and transparently to the caller.\n\nBecause base-x-style decoders are commonly used to handle wallet keys, Base58 Bitcoin material, and other cryptographic secrets, any sensitive data passed to decode() would be relayed to the attacker-controlled host. Both require() and import consumers trigger the same malicious relay path.\n\nThe malicious package was identified by Amazon Inspector and credited to the OpenSSF's malicious-packages repository.
Indicators of compromise
- Packages
- base65-33x
- IPs
- 168.231.81.80
Remediation
- Immediately remove base65-33x from all projects and dependencies
- Audit npm package.json and lock files for any presence of base65-33x
- Replace with the legitimate base-x package if base-x functionality is required
- Rotate any cryptographic secrets or wallet keys that may have been processed by base65-33x
- Review application logs and network traffic for connections to http://168.231.81.80:3002/api/log
- Implement package name verification and typosquatting detection in dependency management workflows
Sources
- GitHub Advisory GHSA-q6wg-mgq7-rq2h · GitHub Advisory Database
Cite this entry
"Malicious code in base65-33x (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 11, 2026; last updated August 11, 2026. https://supplychainattack.org/incident/malicious-code-in-base65-33x-npm-1ebfvt
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- resolvedcritical
Malicious code in epic-sso (npm)
The npm package epic-sso was found to contain malicious code. The package was identified by Amazon Inspector and reported through the OpenSSF malicious packages database.
npmCompromised package - containedcritical
Malicious code in checkout-desktop-total (npm)
The npm package checkout-desktop-total contained malicious code that executes a hidden loader on import, downloading and running platform-specific native payloads from attacker-controlled Cloudflare Workers hosts or reconstructing them via DNS TXT records under wel1.ru. Any system that imported this package should be considered compromised.
npmCompromised package - containedcritical
Malicious code in epic-common (npm)
The npm package epic-common was found to contain malicious code. The package was identified by Amazon Inspector and reported through the OpenSSF malicious packages database.
npmCompromised package - resolvedcritical
Malicious code in epic-common-node (npm)
The npm package epic-common-node was found to contain malicious code. The package has been identified and reported through GitHub Security Advisory GHSA-m36g-mhjr-ww2c.
npmCompromised package