A Web3Auth Flaw Exposed Keys to 44,700 Keplr Wallets. Some of the "Attacker" Wallets Draining Them Turned Out to Be Web3Auth's Own
On-chain analysts saw about $6 million leave roughly 44,700 Keplr wallets in two days and called it a theft. Then the company whose bug caused the breach published its own “recovery” addresses, and they overlap with the wallets that had been flagged as the attacker’s.
Here’s why. After its flaw exposed private keys, Web3Auth went into the wallets that were still vulnerable and moved the funds out first, using what it called “the same path of the original attacker.” So on-chain, the rescue looks just like the robbery. Three days in, there’s still no root-cause report and no final loss number, and nobody has said whether users will be reimbursed.
What Happened
Sourced from Bitcoin.com News, Crypto Briefing, Blockchain Reporter and U.Today:
- Friday, Nov 6: Web3Auth posts: “We’re aware of a security issue affecting Web3Auth’s services used by some third parties.” It pauses its embedded wallet service.
- Saturday, Nov 7: Keplr, the main wallet in the Cosmos ecosystem, reports “unauthorized transactions on some Keplr accounts created with Google or Apple login” and turns off both login options. Its advice to users: “Do not send new funds to that account.”
- Nov 7: Web3Auth starts what it calls a whitehat recovery, moving assets out of exposed wallets before the attacker can reach them.
- Sunday, Nov 8: Keplr and Web3Auth publish 12 verified recovery addresses. Web3Auth adds: “We are aware that some of these transactions have been mistaken for attacker activity.”
Keplr co-founder Josh Lee was clear about where the fault sits: “This was not a hack of Keplr’s code,” he wrote. “The incident originated at Web3Auth, a provider Keplr uses.”
Keplr accounts made with a seed phrase or a hardware wallet are not affected. Lee: “All other Keplr accounts, secret recovery phrases, and hardware wallets are safe.”
The Numbers (and Why They Don’t Add Up Yet)
Blockchain data firm Bitquery traced about $6.01 million in transfers out of roughly 44,700 distinct wallets during Nov 6–7, valued at Nov 7 prices:
| Chain | Outflows |
|---|---|
| Cosmos Hub | ~$3.50M |
| Osmosis | ~$1.04M |
| Injective | ~$615K |
Other details from Bitquery’s data:
- Median wallet loss: $1.34. Most of the exposed wallets held almost nothing. The money was concentrated in a few, and the largest single transfer was about $325,000.
- About 1.96 million staked ATOM moved without waiting out the usual 21-day unbonding period. About $251,000 in staking rewards was redirected.
- Affected chains include Cosmos Hub, Osmosis, Celestia, Akash, Noble, dYdX, Babylon and Injective. One EVM recovery address also covers eight EVM chains, which Web3Auth has not named.
Here’s the problem with that $6 million. The collector addresses in Bitquery’s data overlap with the recovery addresses Keplr and Web3Auth later published. Bitcoin.com calls the figure “observed transfers, not a verified accounting of irrecoverable theft.” Crypto Briefing calls it “a floor rather than a final tally.” Blockchain Reporter thinks the real loss is “smaller than $6 million.” All three readings fit the data, because no one has yet separated what the attacker took from what Web3Auth moved to safety.
Coinpaper reviewed the 12 recovery addresses on Sunday and put their combined balances at about $5.6 million, mostly ATOM. That’s money sitting in addresses Web3Auth controls. It has not been returned to anyone.
What “About 20%” Means
Lee estimated that about 20% of Keplr’s Google and Apple login accounts were exposed. He added that “only a fraction of that 20% has actually been exploited.” Some coverage shortened this to “20% affected.” That’s not what he said. Twenty percent had exposed keys, and only some of those were actually drained.
Keplr hasn’t said how many social-login accounts it has in total, so the 20% can’t be turned into a hard number yet.
The Blast Radius Question: Who Else Runs on Web3Auth?
Web3Auth isn’t a small vendor. MetaMask’s developer docs describe MetaMask Embedded Wallets as “formerly Web3Auth.” The pitch is social login backed by split-key cryptography, where, in the docs’ own words, “no single party holds the full private key.” Somehow keys got exposed anyway.
In its first statement, Web3Auth said it had “found no evidence that MetaMask users are impacted.” Trust Wallet told users they’re not affected. Both statements only cover those companies’ own users. Web3Auth sells to many apps that offer “sign in with Google” wallets, and none of the sources so far has a complete list of affected integrators.
Still unknown as of Sunday night:
- The root cause. Was it share generation, token validation, configuration, or a client-side bug? Web3Auth hasn’t said.
- Final losses. How much of the $6.01M was theft and how much was rescue.
- Reimbursement. Neither company has announced terms.
- Staked assets. Keplr: “Staked and locked assets add complexity and take longer.”
- Whether 12 addresses is the full list. Web3Auth says it will add more as it verifies them.
Keplr is also warning users: “Ignore DMs or links offering ‘recovery’.” Fake recovery scams always follow incidents like this one.
Why This Matters for Crypto Jobs
“Sign in with Google” was the industry’s answer to seed phrases. This incident shows the risk behind it.
- MPC and key-management engineers are now in demand at every embedded-wallet provider. Each company selling social-login wallets will spend this week proving to its customers that it doesn’t share Web3Auth’s flaw. That means audits, threshold-scheme reviews and redesigns of how key shares are made, and it all needs cryptographers who’ve actually shipped this kind of system.
- Wallet teams need vendor-risk staff. Keplr’s code wasn’t hacked, but Keplr is the brand users blame. Expect more hiring for third-party security review and for people who can write integration contracts with real incident-response terms.
- Whitehat recovery is now part of incident response. Web3Auth draining at-risk wallets before the attacker got to them was a real-time operation, and it confused every outside analyst. Teams need people who can run that kind of sweep and explain it publicly in time. That’s security engineering plus comms.
- Onchain forensics just showed its limits. Bitquery’s $6.01M was accurate as a count of transfers and misleading as a count of losses. Analysts who can tell attacker flows from rescue flows, and say so clearly, are valuable right now.
The Bottom Line
A key provider whose whole pitch is that no one holds the full key leaked keys for tens of thousands of wallets. Then it emptied the vulnerable wallets itself so the attacker couldn’t, which made the rescue indistinguishable from the theft. About $6 million moved and about $5.6 million is sitting in recovery addresses, but how much users actually lost is still unknown. Until Web3Auth publishes a postmortem, every app with “Sign in with Google” for its wallet should assume users will be asking whose keys these really are.
Wallet security, MPC cryptography and incident response are some of the hardest roles in crypto to fill, and this week made them more urgent. Browse open roles on Cryptogrind →
Discussion
Comments are powered by GitHub. Sign in with your GitHub account to chime in.