@nasdtickets/common@1.0.23
Malicious code in @nasdtickets/common (npm)
Analysis
@nasdtickets/common@1.0.23 ships a malicious payload appended to build/index.js inside an otherwise-legitimate TypeScript library. On load it runs an eval(atob(...)) decoder that implements a blockchain-derived command-and-control channel. It queries public Ethereum RPC endpoints (1rpc[.]io, eth[.]drpc[.]org, ethereum-rpc[.]publicnode[.]com, eth-mainnet[.]public[.]blastapi[.]io) and the blockscout API (eth-blockscout[.]com/api) to scan blocks for a transaction originating from a hardcoded wallet address. It then reads the transaction's recipient field, splits it into two 4-byte IP octets, and uses those octets to construct C2 hosts (hxxp://{ip}:80 and hxxp://{ip}:443). It fetches XOR-encrypted second-stage payloads from the C2 paths /0x/cls and /0x/ls, decrypts them with embedded keys, and executes the resulting JavaScript either via eval() or by spawning a detached `node -e <payload>` process. The package contacts these RPC endpoints at runtime to obtain the current block number.
- analyzed by
- Leitwacht
- first seen
- Aug 5, 2026, 07:36 AM
- analyzed
- Aug 5, 2026, 07:41 AM
Related advisories
- tailwindcss-scrollbar-hide@2.2.6
- @tuluax/errb@3.0.1
- webdev-conf@5.0.0
- tailwind-anime@1.1.0
- bigops-auth-interceptor@35.7.2
- bigops-header-tabs@35.8.2
- bigops-auth-provider-interceptor@35.8.3
- bigops-external-auth@35.1.6
Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.