Dead Drops on the Blockchain: Reversing a DPRK npm Loader (PolinRider / A6-Shadow-15)
2026-06-22 • Melted In Hex •
https://meltedinhex.com/posts/polinrider-blockchain-dead-drop-npm/
Melted in Hex reverses PolinRider, a DPRK/Lazarus-attributed npm supply-chain loader hidden in the functional packages tailwind-color-shades and safe-validate. The loader executes on import, resolves encrypted stages through TRON, Aptos, and Binance Smart Chain dead drops, then contacts version-gated C2 over /$/boot with a Sec-V marker. The teardown links the chain to BeaverTail and InvisibleFerret payloads that target browser credentials, session cookies, SSH keys, cloud and npm/GitHub tokens, crypto wallets, and Windows clipboard/keylogging data. It also documents a new global['_V'] variant with A6-Shadow-15 and A6-Shadow-14 markers, attacker C2 IPs, package hashes, and a YARA rule for hunting the blockchain-loader behavior.
Indicators of Compromise
| Type | Value | First Seen | Last Seen |
|---|---|---|---|
| YARA | polinrider_v_variant_blockchain… | 2026-06-22 | 2026-06-22 |
| HASH | a048ac42b7e4c7dad4dd24e352dfe29… | 2026-06-22 | 2026-06-22 |
| HASH | fab731cd8005d9d73a8fe862a8bfea3… | 2026-06-22 | 2026-06-22 |
| URL | http://23.27.202.27/$/boot | 2026-06-22 | 2026-06-22 |
| URL | http://198.105.127.210/$/boot | 2026-06-12 | 2026-06-22 |
| URL | http://166.88.54.158/$/boot | 2026-06-12 | 2026-06-22 |
| IPv4 | 166.88.54.158 | 2026-04-24 | 2026-06-22 |
| IPv4 | 198.105.127.210 | 2026-03-05 | 2026-06-22 |
| IPv4 | 23.27.202.27 | 2025-10-20 | 2026-06-22 |