OpenSSF/OSV advisory MAL-2026-14198 confirms this npm version as malicious. The package's advertised getTransactions() API invokes an internal loader that reads database.js — a file disguised as a product catalog — extracts each record's `mark` field, base64-decodes it and applies a per-byte Caesar shift, concatenates the result into a code string, and passes it to the Function constructor together with Buffer, require, and process. This yields arbitrary Node.js execution with full...
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in txs-lib-sdk (npm)
Details
The package's advertised getTransactions() API invokes an internal loader that reads database.js — a file disguised as a product catalog — extracts each record's `mark` field, base64-decodes it and applies a per-byte Caesar shift, concatenates the result into a code string, and passes it to the Function constructor together with Buffer, require, and process. This yields arbitrary Node.js execution with full filesystem, network, and child_process capabilities on the caller's host whenever the documented API is used. index.js hides the sink by reconstructing the identifiers 'setTimeout', 'Function', 'Buffer', 'require', and 'process' from a split string-array and by resolving the Function constructor indirectly via globalThis.constructor.constructor. The multi-layer obfuscation (identifier reassembly, indirect constructor lookup, base64+Caesar-encoded payload, JSON-shaped carrier file, deferred setTimeout) has no legitimate purpose for a package presented as a transactions helper and is the concealment layer of a supply-chain loader.
Decision reason
No blocking static signals were detected.