CryptoKeySafe CK bracket markCRYPTOKEYSAFE
Module 3

Hot Wallets, Browser Extensions, and dApp Interaction

Hot wallets are where most crypto theft actually happens. Not because the protocols are fundamentally broken, but because of how people use them - unlimited approvals, browser extensions with access to everything, and transactions signed without understanding what they authorize.

Video Narration: Q3 2026

Video narration arrives Q3 2026. Full written lesson available below.

MetaMask

MetaMask is a browser extension and mobile app that serves as the primary gateway to Ethereum-compatible dApps. About 30 million people use it monthly. It works by injecting a JavaScript object (window.ethereum) into every web page you visit, which dApps use to request signatures and send transactions.

The security architecture has a known weakness: at certain points during operation, private keys are held unencrypted in browser memory. A 2025 security analysis confirmed that MetaMask's handling of keys in memory creates a window where a malicious browser extension or memory dump could theoretically extract them. This is inherent to how browser-based wallets work, not unique to MetaMask.

January 2026 saw signature phishing attacks (also called permit phishing) increase 207% compared to the same period the prior year. These attacks don't steal your seed phrase - they trick you into signing an off-chain authorization (an EIP-2612 permit) that gives the attacker permission to move your tokens. The signature happens in MetaMask's popup. The transaction cost is zero gas for you. The result is the same as handing over your tokens.

MetaMask security practices

  • Only install from metamask.io or the official Chrome/Firefox extension stores
  • Use MetaMask in a dedicated browser profile with no other extensions installed
  • Read what you're signing before clicking Confirm - specifically check the 'to' address
  • Never sign permit/approval requests on a site you didn't deliberately open
  • Keep less than you'd be comfortable losing in any browser wallet

Phantom

Phantom started as a Solana-only wallet and expanded to Ethereum, Polygon, and Bitcoin in 2023-2024. It's the dominant browser wallet for Solana DeFi and NFTs.

A 2025 security disclosure revealed that Phantom, like MetaMask, has periods where private keys exist unencrypted in memory. This is a structural issue with browser-based key management, not a Phantom-specific vulnerability. Phantom has built-in malicious transaction detection that flags some known attack patterns before you sign, which is a meaningful defensive layer.

Phantom's primary risk surface is Solana's DeFi ecosystem, which moves faster and has less mature audit practices than Ethereum. If you're actively using Solana DeFi protocols, Phantom is the most practical wallet, but the same principles apply: small balances, dedicated browser profile, read before signing.

Rabby

Rabby is a browser extension wallet developed by DeBank. It has grown significantly in 2025-2026 among security-conscious DeFi users because of one specific feature: pre-transaction simulation.

Before you confirm any transaction, Rabby simulates what it will actually do. It shows you exactly which tokens leave your wallet, which arrive, and what the net change will be. For a simple token swap, this confirms you're getting what the dApp showed you. For a malicious approval or a drainer contract disguised as a mint, the simulation shows the truth before any funds move.

Rabby also receives regular third-party security audits and displays approval history, showing you what contracts currently have spending permissions on your tokens. If you're going to use a browser wallet for active DeFi, Rabby is the more security-oriented choice over MetaMask for most use cases.

Trust Wallet

Trust Wallet has over 200 million downloads and supports 100+ blockchains and 10 million+ tokens. It's primarily a mobile wallet, acquired by Binance in 2018 and later open-sourced.

In late 2024, a vulnerability in the Trust Wallet browser extension (not the mobile app) allowed attackers to extract private keys from affected installations. Estimated losses were approximately $6 million. Trust Wallet patched the extension and issued guidance, but the incident reinforced the risk profile of browser extensions relative to mobile or hardware alternatives.

Trust Wallet's mobile application is a reasonable choice for on-the-go management of smaller balances across many chains. The browser extension carries the same warning as all browser extension wallets: isolated browser profile, minimal balance, and verify every transaction.

Coinbase Wallet

There are two Coinbase products with different security models, and confusing them is a mistake many people make. Coinbase Exchange (custodial) holds your keys. Coinbase Wallet (self-custody) does not. This module concerns Coinbase Wallet.

Coinbase Wallet is a self-custody wallet available as a mobile app and browser extension. Your private key is generated on your device and encrypted with your chosen password. Coinbase cannot access it.

The 2024-2025 Coinbase security incident affected the exchange (custodial) product, not Coinbase Wallet. Criminals bribed external vendor support agents contracted to handle customer service. The stolen data was customer identifying information - names, addresses, phone numbers, partial government ID - not private keys. But this personal data was sufficient to run targeted social engineering attacks against high-value targets.

In July 2025, Coinbase announced a $5 million on-chain bug bounty and terminated the staff involved. The incident is instructive: the attack vector was human (bribery and social engineering), not technical. Institutional-grade infrastructure doesn't help if the operational security layer - the people - can be compromised.

Mobile Wallet Security

Mobile wallets sit in a different threat model than browser extensions. On a phone, every app runs in its own sandbox. The wallet app does not share process memory with your browser, your messaging apps, or any other installed app. Keys live in platform-managed secure storage, not in the wallet app's own memory the way a browser extension does. That isolation is the single biggest reason mobile wallets have a better security record than their browser-extension siblings, even when the same vendor builds both (Trust Wallet's ~$6M extension loss in late 2024 did not touch the mobile app).

How keys are actually stored

On iOS, mobile wallets store the encryption key for the seed inside the Secure Enclave - a hardware coprocessor present in every iPhone since the iPhone 5s (2013). The Secure Enclave runs its own OS, has its own memory, and never exposes the key to the main application processor. Wallet apps access it through Keychain Services with the kSecAttrTokenIDSecureEnclave attribute. Even a fully compromised iOS app cannot read the raw key - only ask the Enclave to sign with it after the user authenticates.

On Android, the equivalent is Android Keystore. On Pixel 3 and later plus most 2020+ flagships, Keystore is backed by StrongBox - a tamper-resistant chip (Titan M on Pixels) that provides the same hardware isolation as the Secure Enclave. On older or cheaper Android devices, Keystore falls back to a Trusted Execution Environment running on the main SoC via ARM TrustZone. TrustZone is isolated from the main Android OS but shares silicon with it, so it sits a step below StrongBox in tamper-resistance. The wallet app cannot tell the difference at the API level - it just calls Keystore and gets a key handle back.

The practical implication: if you set a wallet app to require biometric unlock and your phone is otherwise current on security patches, extracting the seed off the device is genuinely hard even with physical access. Hard enough that the realistic mobile attack vectors target what happens around the keys, not the keys themselves.

The real mobile attack surface

Mobile-specific attack patterns 2024-2026

  • Clipboard hijackers (ClipXDaemon, MassJacker): Malware monitors the clipboard and silently substitutes a destination address when it detects you copying a wallet address. You paste, review the first and last 4 characters out of habit, hit send, and the funds go to the attacker. ClipXDaemon (Cyble report, February 2026) targets Android specifically and has shipped through fake utility apps and pirated APKs.
  • Accessibility-service overlays (Crocodilus, SharkBot variants): Android trojans request accessibility permissions under a benign pretext (battery optimizer, font installer), then use those permissions to read every screen and overlay fake input fields on top of legitimate wallet apps. The overlay captures your seed phrase the moment you import it. Crocodilus (ThreatFabric, March 2025) is the current reference example targeting crypto wallets.
  • Counterfeit wallet apps in stores: Apple removed a fake Trezor app from the App Store in 2021 after victims reported around $1M in losses; Google Play has hosted fake versions of MetaMask, Trust Wallet, and Phantom that copy the official UI and exfiltrate the seed during onboarding. Vendor websites (metamask.io, trustwallet.com, phantom.app) are the only safe install path - never search the store and trust the first result.
  • iOS TestFlight + MDM-profile sideloading: CryptoRom and similar romance/investment-scam crews have used Apple TestFlight invitations and MDM enrollment profiles to push unreviewed fake-trading-platform apps onto iPhones. The victim has to actively install a profile, which iOS warns about, but the social-engineering pretext gets users past the warning.
  • SIM-swap into phone-bound recovery: If your wallet's recovery flow ties to SMS or a phone-bound email account, a SIM-swap on your number reaches the recovery flow without ever touching the device. The mobile wallet itself stays secure - the carrier is the failure point. Move recovery off SMS to authenticator apps or hardware tokens, and put a port-out PIN on your line. Module 5 covers the full SIM defense playbook.

iOS versus Android in practice

iOS is the more locked-down platform by default. App Store review catches a meaningful fraction of fake-wallet submissions; sideloading requires either jailbreaking, a developer profile, or TestFlight with a specific invite. Android is more permissive: APK sideloading is a one-toggle setting, and accessibility services are a powerful capability that legitimate apps need but that trojans abuse. For a wallet device that holds anything material, an updated iPhone with no installed apps from outside the App Store is a stronger starting point than a typical Android device.

That said, a current Pixel running the latest Android with StrongBox-backed Keystore and Google Play Protect enabled is competitive. The weakness on Android is the long tail of older devices that no longer receive security patches but are still in daily use. If your phone stopped getting OS updates two years ago, it is not a wallet device.

Mobile wallet practices that matter

  • Install only from the vendor website link (metamask.io, trustwallet.com, phantom.app, rabby.io) - never search the store
  • Keep the OS current; a phone past its security-patch window is not a wallet device
  • Require biometric unlock on the wallet app; set the phone passcode to 6+ digits, not 4
  • Never grant accessibility permissions to a wallet app or anything claiming to enhance one
  • Verify pasted addresses by reading more than the first and last 4 characters - clipboard hijackers count on the shortcut
  • Keep recovery off SMS; use an authenticator app or a hardware security key for any account that controls wallet access
  • Don't jailbreak or root a device that holds keys; you remove the platform's isolation guarantees
  • Treat a mobile wallet like a checking account, not a vault - significant balances belong on hardware

How dApp Connections Work

The Injected Provider

When MetaMask (or any browser extension wallet) is installed, it injects a JavaScript object called window.ethereum into every web page you visit. When a dApp wants to interact with your wallet, it calls methods on this object: eth_requestAccounts to get your address, eth_sendTransaction to request a signature, eth_sign for message signing.

This is why a compromised browser extension that sits above MetaMask in the injection order can intercept these calls. An extension that overrides window.ethereum sees every dApp interaction before MetaMask does.

WalletConnect

WalletConnect is a protocol for connecting mobile wallets to desktop dApps without a browser extension. You scan a QR code with your mobile wallet; this establishes an encrypted session between your wallet and the dApp via WalletConnect's relay servers. The dApp sends transaction requests through the relay; your wallet displays them for your approval.

The risk in WalletConnect is the QR code itself. If an attacker substitutes a malicious WalletConnect QR code for a legitimate one (common in phishing sites that clone legitimate dApp interfaces), the session connects to the attacker's backend instead of the real dApp. You're then shown whatever transaction the attacker wants you to sign.

Token Approvals

Token approvals are one of the highest-risk areas in DeFi. When you interact with a DEX, lending protocol, or NFT marketplace, it typically asks you to approve a token allowance before the main transaction. This approval is a separate on-chain transaction that grants a smart contract address permission to move a specified amount of a token from your wallet.

The default for most protocols is unlimited approval. This is convenient because you only have to approve once rather than before every transaction. But it means that contract permanently has permission to drain your entire token balance, even years later. Every protocol exploit that has involved "draining user funds" in 2024-2025 relied on pre-existing unlimited approvals.

Approval exploit examples from 2025-2026

  • Fisclend (January 2025): Exploit drained tokens from users who had granted unlimited approvals to the protocol during its initial period. Approval revocation was not part of users' routine.
  • Aperture Finance (January 2026): Attacker exploited a contract vulnerability and used existing unlimited approvals to drain user balances across multiple tokens.
  • SwapNet DEX: Over $13 million drained from active approvals that users had granted and forgotten about. Protocol's contract was upgraded maliciously.
  • CoinMarketCap homepage (doodle exploit): $43,000 from 110 victims via malicious JavaScript injected into the homepage. The script exploited existing token approvals without any user interaction beyond visiting the page.

The defensive response is simple: visit revoke.cash monthly, connect your wallet, and revoke any approvals you don't actively need. The service is free and supports 100+ networks. When granting a new approval, set a specific token amount rather than unlimited whenever the protocol allows it. Module 5 covers the full approval management workflow.

Centralized Exchange Risks

The three largest crypto exchange hacks in recent memory illustrate different failure modes, none of which involved breaking the blockchain:

Bybit$1.5 billionFebruary 2025

Supply chain attack on Safe wallet infrastructure. Attackers compromised the signing interface so that Bybit's authorized signers approved a malicious transaction believing it was routine.

Phemex$85 millionJanuary 2025

Hot wallet key compromise. Private keys controlling Phemex's hot wallets were extracted and used to drain multiple chains simultaneously.

Nobitex$90 million2025

Hot wallet compromise during a period of regional internet disruption that affected monitoring systems.

The pattern is consistent: exchange hacks attack the institution's key management, not the blockchain. For users, the implication is direct: only keep amounts on exchanges that you're comfortable losing completely. Anything you're holding long-term belongs in self-custody. The exchange is a trading venue, not a bank vault.

Knowledge Check

Module 3 - 8 questions

1

MetaMask had approximately how many monthly active users as of 2025, making it the most common phishing target?

2

When you grant 'unlimited' token approval to a DeFi protocol, what exactly are you permitting?

3

Rabby Wallet's pre-transaction simulation is a meaningful security improvement. What does it show you before you sign?

4

The Trust Wallet browser extension vulnerability in late 2024 resulted in approximately how much in estimated losses?

5

What was the nature of the Coinbase security incident in late 2024 through May 2025?

6

Bybit lost $1.5 billion in February 2025. This was not a blockchain hack. What actually happened?

7

Where does an iOS or modern Android wallet app actually store the encryption key that protects your seed?

8

ClipXDaemon, MassJacker, and similar mobile clippers are now a common cause of wallet losses. What do they actually do?