Back to Blog
securitytrust-walletsupply-chainnpmbrowser-extension
Trust Wallet's $8.5M Nightmare: Inside the Shai-Hulud Supply Chain Attack
A compromised NPM package led to a malicious Chrome extension that drained $8.5M from 2,500+ wallets. Here's how supply chain attacks threaten every crypto user.
Miguel Treviño•

On Christmas Eve 2025, someone pushed a malicious update to Trust Wallet's Chrome extension.
Within days, over $8.5 million had been stolen from more than 2,500 wallets. The victims did nothing wrong—they simply had an auto-updated browser extension.
The Attack Vector
This wasn't a zero-day exploit or a smart contract hack. It was a supply chain attack targeting the software development pipeline.
The chain of events:
- Shai-Hulud 2.0: A massive supply chain attack compromised thousands of NPM packages
- Credential theft: Attackers obtained Trust Wallet's GitHub secrets and Chrome Web Store API keys
- Malicious release: Version 2.68 was pushed directly to the Chrome Web Store, bypassing review
- Seed phrase exfiltration: The malicious code silently sent wallet data to attacker-controlled servers
Why This Is Terrifying
This attack exposed a fundamental vulnerability in the crypto ecosystem: the software supply chain.
Every crypto wallet, exchange, and DeFi protocol depends on:
- NPM packages (JavaScript libraries)
- GitHub repositories (source code)
- Browser extension stores (distribution)
- CI/CD pipelines (automated builds)
Compromise any link in that chain, and you can inject malicious code into software used by millions.
What Was Stolen
The attackers made off with:
- ~$3 million in Bitcoin
- ~$3 million in Ethereum
- $431 in Solana
- Additional amounts in various altcoins
The funds were quickly moved through exchanges and cross-chain bridges. Most will never be recovered.
Trust Wallet's Response
To their credit, Trust Wallet acted quickly:
- Revoked all compromised credentials
- Released a clean version (2.69) within hours
- Announced full reimbursement for affected users (backed by Binance)
- Published detailed incident reports
CZ confirmed that Trust Wallet would cover all losses. But not every project has Binance's resources.
The Bigger Problem
This attack could have happened to any browser-based wallet:
- MetaMask
- Phantom
- Rabby
- Coinbase Wallet
All of them depend on the same vulnerable supply chain. All of them auto-update by default. All of them store sensitive data that malicious code could exfiltrate.
Why Browser Extensions Are Risky
Browser extensions operate in a uniquely dangerous environment:
- Broad permissions: They can read/modify web pages, access storage, intercept requests
- Auto-updates: New versions deploy automatically, often without user awareness
- Supply chain exposure: A single compromised dependency affects all users
- Limited sandboxing: Extensions share browser context with sensitive sites
Every time you install a browser extension wallet, you're trusting:
- The development team
- Every dependency they use
- Every maintainer of those dependencies
- The browser store review process
- The security of their deployment infrastructure
That's a lot of trust.
The Zelf Difference
Zelf approaches security fundamentally differently:
1. Minimal Attack Surface
Our mobile-first architecture reduces supply chain exposure. Mobile apps have:
- Stricter app store review processes
- Better sandboxing between applications
- No auto-update without user consent (for security-critical updates)
2. No Seed Phrase Storage
If there's no seed phrase to exfiltrate, malicious code can't steal it. ZK Face Proof authentication means:
- Nothing sensitive stored on-device that could be extracted
- Authentication happens through cryptographic proofs, not stored secrets
3. Biometric Non-Exportability
Your face can't be copied and sent to a remote server (in a usable form). Unlike text-based secrets, biometric authentication is inherently bound to you.
Lessons for Every Crypto User
- Minimize browser extensions: Every extension is an attack surface
- Disable auto-updates for security-critical software
- Use hardware separation: Keep serious holdings off browser-connected wallets
- Verify before trusting: Check extension versions against official announcements
- Consider alternatives: Mobile wallets with better security models
The Future of Wallet Security
The Trust Wallet incident proves that "non-custodial" doesn't mean "secure." Self-custody is only as safe as the software implementing it.
The next generation of wallets needs:
- Zero-knowledge authentication that can't be exfiltrated
- Hardware-backed security independent of software supply chains
- Minimal trusted computing base to reduce attack surface
That's exactly what Zelf is building.