Supply Chain Warfare: Advanced Typosquatting Targets Web3 Development Ecosystems
Threat actors are increasingly weaponizing the inherent trust placed in open-source dependencies to target Web3 engineering teams. By deploying sophisticated typosquatting campaigns via the npm registry, attackers are transforming routine dependency installations into high-speed conduits for wallet theft, secret harvesting, and multi-stage malware deployment.
This specific campaign is particularly insidious because it leverages the established branding of Ethereum and prominent blockchain utilities. Rather than waiting for manual execution, the malware exploits postinstall and preinstall lifecycle hooks, ensuring malicious code executes automatically the moment a developer runs npm install.
According to a technical report from Cyfirma, researchers identified 11 highly suspicious npm packages designed to impersonate industry-standard tools. These packages mimic legitimate projects such as Ethereum, Coinbase Wallet, Moralis, and Hardhat to deceive even seasoned developers.
The technical objectives of these packages range from reconnaissance and credential theft to remote payload delivery. Most critically, certain variants are engineered to intercept private keys and mnemonic phrases directly from the memory or local storage during wallet creation workflows.
Tactical Execution: Deceptive Wrappers and Trojanized SDKs
The attackers have organized their campaign into distinct tactical clusters:
- Deceptive Wrappers: Packages like
ethers-jssandcoinbase-wallet-utilsact as functional wrappers that include malicious lifecycle hooks to trigger code execution immediately upon installation. - Trojanized SDKs: The
moralis-sdkcluster represents a significantly larger threat. These packages appear to be legitimate copies of the original Moralis SDK, including documentation and source files, but include a hidden, maliciouspostinstallstage. Given its high profile, this specific variant has seen over 2.7 million downloads, dramatically increasing its potential blast radius.

This operation exploits the “human error” element of development. A developer searching for a specific library may inadvertently install a lookalike package due to a minor typo. To further minimize detection during manual code reviews, the attackers utilize brand impersonation, code obfuscation, and lightweight package structures that blend into a standard project directory.
Advanced Tradecraft and On-Chain C2
The sophistication of this campaign moves beyond simple “dropper” behavior. The malware demonstrates high-maturity tradecraft, including:
- Environment Scraping: Automated harvesting of
.envfiles, SSH keys, environment variables, and Web3-specific configuration files. - Multi-Stage Payloads: The ability to pull secondary payloads from remote servers once the initial infection is established.
- Blockchain-Assisted C2: In a highly specialized move, the attackers use blockchain-assisted command-and-control (C2) and exfiltration paths, making it incredibly difficult for traditional network monitoring tools to flag the traffic as malicious.
This capability allows attackers to pivot from a single compromised developer workstation to high-value targets, including cloud credentials, CI/CD pipelines, and production-level wallets.

Mitigating the Blast Radius in Web3 Environments
The structural vulnerability in blockchain development lies in the speed of the ecosystem. Web3 teams rely on rapid updates and highly privileged secrets stored in local development environments. When malicious code enters this workflow, the damage is not limited to source code; it extends to private keys, deployment credentials, and direct financial assets.
Anomalies within the packages further highlight the malicious intent. For example, the discovery of docker_hunter.py inside an Ethereum-focused utility package is a significant red flag, as the script has no functional relevance to the package’s stated purpose. Similarly, the use of cloned Moralis SDK files serves only to provide a veneer of authenticity.
For security teams, these findings underscore that dependency auditing, strict lockfile management, package-name verification, and automated secret scanning are no longer optional—they are fundamental pillars of Web3 security architecture.

INDICATORS OF COMPROMISE (IOCs)
| No. | Indicator | Type | Remarks |
|---|---|---|---|
| 1. | 53b91117db931d3acbbfd15aa8400bb6691e023d | SHA1 | ethers-jss package archive |
| 2. | d94a2444268b339dfda2615f7800322fb318e0a484414bb17016cfcd5eb07c44 | SHA256 | ethers-jss package archive |
| 3. | 63154cd9c79f9d14eb9be6c4efc2a778d31646ec | SHA1 | coinbase-wallet-utils package archive |
| 4. | 6585ca0d3e26c20ced638f46f4a89eea924d411b8753d3fcf434663593c7cf0b | SHA256 | coinbase-wallet-utils package archive |
| 5. | 74d3d5ab6d0fa4c6a5860598231728a6a893ecf7 | SHA1 | moralis-sdk v1.0.1 package archive |
| 6. | 17bad5ae5b2ac262f5f18854853869840245c344105aa38c7f550ef51d2e5f26 | SHA256 | moralis-sdk v1.0.1 package archive |
| 7. | fcc8a542aad41e758cf6c18571048890be53808e | SHA1 | ganach package archive |
| 8. | 7269c00a6164fd01dd516e0a72b2bd84c82e78feb552e06964e4992ff0479dda | SHA256 | ganach package archive |
| 9. | 70842cfc27b116d0db2fd7aa33d53a3faf510993 | SHA1 | solidty package archive |
| 10. | e848d73a68e4e8aea00a6257552b5872907dfaf7cce3d94636d7e59d286edeab | SHA256 | solidty package archive |
| 11. | e1bdcd1a7157f7d047a88ab4573723fe1e861951 | SHA1 | stelar-sdk package archive |
| 12. | 2fa5b0475c3b70a3ba14c6a3938baf441a08b11841493b85e087d1d5e01eba49 | SHA256 | stelar-sdk package archive |
| 13. | pastefy[.]app/RhPBKGli/raw | URL | Base64-encoded PowerShell payload hosting |
| 14. | 193[.]233[.]201[.]21:3001 | C2 | Remote payload distribution server |
| 15. | 0xa1b40044EBc2794f207D45143Bd82a1B86156c6b | Contract | Ethereum Smart Contract for dynamic infrastructure retrieval |
| 16. | 0x52221c293a21D8CA7AFD01Ac6bFAC7175D590A84 | Wallet | Queried by smart contract to obtain C2 configuration |
| 17. | 0xCBbecC5E5Eb88582e6305cF6ab688f03e02Ce16f | Wallet | Target address for exfiltration transactions |
| 18. | d6abc7003b580472d808b338adef0b28eacc698cd4692f76cb2a91718ab78d88 | SHA256 | hardhat-deploy-utils package archive |
| 19. | bab96257018df49ace8fe8adfadc74cf8327fcf9a9dc8a3a7c9ac8e18881df5f | SHA256 | web3-deploy-helper package archive |
| 20. | d7ec660a2a29c1aabcbe9bff1ef29be9a9fab8c7fe7c40df4772dd2b5bdf9666 | SHA256 | defi-sdk-core package archive |
| 21. | 5c50f79038b31aa8a3a68b24d8b783dfbd2e15fff7586c5609e544a717ef7d05 | SHA256 | ethers-compat package archive |
| 22. | feabf10c8a9ba2775bb0f7f9d0b20203112b7df8e6d333a44d5a11eae0e38e86 | SHA256 | ethereum-dev-utils package archive |
Security Advisory: IP addresses and domains are intentionally defanged (e.g., [.]) to prevent accidental execution. Re-fang only within controlled threat intelligence environments.