npm/bs58-15 is a typosquat of the popular bs58 base58 codec (cryptocoinjs). The package contains no malicious code of its own: its src/cjs/index.cjs simply does require("base65-15x") and re-exports it. Its sole purpose is to pull in the malicious sink package base65-15x as a runtime dependency (declared dependency: base65-15x: ^5.0.1). base65-15x is a near-verbatim clone of base-x whose decode() exfiltrates every string passed to it by POSTing the raw input to a hardcoded bare-IP C2 (http://46.250.253.63:3000/api/log) before throwing; because base-x/bs58 are how crypto tooling base58-decodes private keys and seeds, the exfiltrated values are frequently secrets. The sink is reported separately as MAL-2026-13748. bs58-15 and its sibling wrappers (bs58-33, bs58-77) were published alongside the three base65 sinks by a single npm maintainer account (smallmantis) within a ~90-minute window on 2026-08-11, forming a matched six-package delivery-plus-exfiltration campaign. Installing bs58-15 is sufficient to introduce the key-exfiltration behavior into a dependent project.
-= Per source details. Do not edit below this line.=-
Package name 'bs58-15' impersonates the widely-used 'bs58' base58 encoding library, and its package.json metadata (repository, homepage, bugs) points at the legitimate cryptocoinjs/bs58 project despite being published by an unrelated author, presenting false provenance. The package's single runtime dependency is 'base65-15x', a lookalike of the legitimate 'base-x' package. The main entry executes require("base65-15x") and immediately invokes the returned value as a function against an alphabet constant on module load, so any consumer that installs bs58-15 and requires it pulls attacker-named dependency code into their dependency graph and executes it at import time.
{
"malicious-packages-origins": [
{
"id": "IN-MAL-2026-017667",
"import_time": "2026-08-13T20:49:27.433264424Z",
"sha256": "99502d2feb4743e651628a07ca032fa0cc813ff6482cae15d9c2f1fb6fce63c4",
"modified_time": "2026-08-13T20:36:26Z",
"source": "amazon-inspector",
"versions": [
"6.0.1"
]
}
]
}[
{
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code",
"cweId": "CWE-506"
}
]
{
"evidence_files": [
{
"path": "src/cjs/index.cjs",
"tlsh": "dee0615a7db7d5914664004e4325c8932efd4c7f0484345a72cf9fbad25409568a1d27",
"sha256": "af91c74168160207f1c21d89892e6def9b0ef81342c383faeb3e90c1936adaf0"
},
{
"path": "package.json",
"tlsh": "d5319959d8b84d6317c5a1a499795a13e6350d8b8818fc5e73ee422c8f8c17f01fd2ed",
"sha256": "2fcb29a04147a517d327d58eecbe379feef96a1b6d55c094991b87d0e58307f3"
}
],
"package_integrity": [
{
"filename": "bs58-15-6.0.1.tgz",
"hashes": {
"sha1": "6908dad51bf8bb28ed0d1b51cd758cca07dec009",
"sha512_sri": "sha512-owB5f6xDKn0wpyeEjd9HOXb/u9WTeBweeowfVeN25mHz+da8ARHiJ4n6NDHeVQRB1hsrTZs/q1uF6v9ecW8+Kw=="
}
}
]
}
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/bs58-15/MAL-2026-13964.json"