Incidents · Heist
The Bybit theft
North Korean hackers took about $1.5 billion in ether from the exchange Bybit by tampering with the website its staff used to approve transfers. It was the largest theft of cryptocurrency on record until Binance lost more than $6.3 billion in October 2026.
- $1.5bn
- Stolen, as valued by the FBI ic3.gov
- 401,347 ETH
- Taken in a single transfer, plus staked ether tokens etherscan.io
- 3
- Bybit signers who approved the transaction nccgroup.com
- 3.5%
- Frozen a month later; the rest had been moved on cointelegraph.com
Step by step
- 1Developer laptopA Safe{Wallet} developer runs a Docker project supplied by the attackers. Malware takes over the Mac.
- 2Cloud accountThe attackers reuse the developer’s live AWS session tokens, which gets them past multi-factor authentication.
- 3Website codeThey change the JavaScript served by app.safe.global so it alters transactions from Bybit’s wallet and no one else’s.
- 4SigningThree Bybit signers approve what the page shows as a routine transfer. What they sign hands over the wallet.
- 5TakeoverThe wallet’s logic is replaced with the attackers’ contract, which empties it.
- 6LaunderingThe ether is swapped, mostly through THORChain, into bitcoin spread across thousands of addresses.
What happened
On 21 February 2025, Bybit, one of the largest cryptocurrency exchanges, moved ether from a cold wallet to a hot wallet, as it did routinely. Three of its signers approved the transfer. Less than three minutes later, 401,347 ETH left the wallet for an address the attackers controlled.1
The signers had used Safe{Wallet}, a widely used web app for managing wallets that need several people to approve each transaction. Attackers had changed the app’s code so that, for Bybit’s wallet alone, the page showed one transaction while the signers signed another.2
How it worked
Bybit’s cold wallet was a Safe smart contract: a small proxy that holds the funds and passes every call to a separate contract holding the logic. The address of that logic contract sits in the proxy’s first storage slot.3
The altered JavaScript changed the transaction the signers were asked to approve. Instead of a plain transfer, it sent a delegatecall to a contract the attackers had deployed. A delegatecall runs the other contract’s code against the caller’s own storage. The attackers’ contract did nothing except write a new address into that first slot. Once the signers approved it, the wallet’s logic was the attackers’ Sweeper contract, whose sweepETH and sweepERC20 functions sent everything to the attackers without needing any further approval.3
The signers confirmed on hardware wallets, which showed the transaction as raw data that couldn’t readily be checked against what the web page showed.3 Bybit’s CEO, Ben Zhou, who signed last on a Ledger, said what he saw looked like a normal transfer from Safe’s official site.4
The code only activated for transactions from Bybit’s wallet and one other address, so other Safe{Wallet} users saw nothing unusual.5 About two minutes after the theft, clean copies of the files were uploaded in their place.2
How the attackers got in
Bybit’s own systems were not breached. Sygnia, which investigated for Bybit, found no sign of compromise there.5
The attackers got in through Safe{Wallet}. On 4 February, one of its developers, among the few with elevated access, ran a Docker project named MC-Based-Stock-Invest-Simulator-main on their Mac. The project talked to a domain registered two days earlier, and the laptop was taken over. The same group had previously approached developers on Telegram and asked them to help debug a Docker project.6
Safe{Wallet}’s AWS account required multi-factor authentication and a fresh login every 12 hours. The attackers tried and failed to register their own MFA device, then used the developer’s live session tokens from the infected laptop, timing their activity to the developer’s working hours. They spent about two weeks exploring before changing the website on 19 February.7
Who did it
The FBI attributes the theft to North Korea, under the name TraderTraitor.8 Mandiant, which investigated for Safe, tracks the same group as UNC4899. It is also known as Jade Sleet and PUKCHONG, and is part of what is commonly called the Lazarus Group.6 Before the FBI’s statement, independent investigators had already linked the stolen funds to addresses used in earlier North Korean thefts.5
Where the money went
The stolen ether was split across dozens of new addresses, and staked ether tokens were swapped for plain ether on decentralised exchanges. Most of it was then converted to bitcoin through THORChain, a protocol that swaps between blockchains without accounts or identity checks. Three THORChain validators voted to block the transactions; the vote was reversed within minutes.9
By 20 March, Bybit said 86% of the stolen ether had become 12,836 bitcoin spread across 9,117 wallets. Of the total, 3.5% had been frozen.10 The FBI asked exchanges, bridges and other services to block transactions involving the 51 addresses it had identified.8
Elliptic estimated that more than $200 million passed through eXch, an exchange that did not identify its customers. German police shut eXch down on 30 April 2025 and seized about $38 million in cryptocurrency.11
What Bybit did
Zhou went on a livestream the same day and said the exchange had enough to pay every customer who withdrew.12 Bybit offered a bounty of 10% of any funds recovered,13 and within three days said it had replaced the missing ether with loans from other firms, deposits from large holders and purchases.14
What changed afterwards
Safe rebuilt its infrastructure, rotated every credential and added checks on transaction data before restoring the service.5 Its smart contracts were not at fault.7
Bybit had hardware wallets and several signers, and lost the funds anyway, because every signer relied on the same compromised web page to tell them what they were signing. Investigators recommended devices that display transactions in readable form, checks that compare what is signed against an independent record, and contracts that do not allow delegatecall when they don’t need it.3
What it means for you
Bybit customers did not lose their balances: the exchange absorbed the loss.14 Nothing here calls for action by individuals.
The same applies to anyone with a hardware wallet. It protects you only if you can read and check what its screen shows before you approve; if it shows data you can’t check, you are trusting the computer it’s plugged into.
Footnotes
-
Etherscan: the transaction that replaced the wallet’s logic at 14:13:35 UTC, and the transfer of 401,347 ETH at 14:16:11 UTC. ↩
-
Sygnia, investigation into the Bybit hack. ↩ ↩2
-
NCC Group, in-depth technical analysis of the Bybit hack. ↩ ↩2 ↩3 ↩4
-
CriptoNoticias, account of Ben Zhou’s livestream (in Spanish), 21 February 2025. ↩
-
BleepingComputer, Lazarus hacked Bybit via a breached Safe{Wallet} developer machine, 26 February 2025. ↩ ↩2 ↩3 ↩4
-
The Hacker News, Safe{Wallet} confirms North Korean TraderTraitor hackers stole $1.5 billion in Bybit heist, March 2025. ↩ ↩2
-
CryptoSlate, Safe’s internal investigation reveals developer’s laptop breach led to Bybit hack, March 2025. ↩ ↩2
-
FBI, North Korea responsible for $1.5 billion Bybit hack, public service announcement I-022625-PSA, 26 February 2025. ↩ ↩2
-
The Block, Bybit hackers move over half the stolen ETH onto Bitcoin, largely using THORChain, 27 February 2025. ↩
-
Cointelegraph, Bybit’s $1.4B hack: 89% still traceable, 20 March 2025. ↩
-
The Record, German police take down eXch, 9 May 2025. ↩
-
Bitcoin.com News, Bybit livestream tackles ETH wallet breach, 21 February 2025. ↩
-
The Block, Bybit offers 10% bounty, 22 February 2025. ↩
-
The Block, Bybit CEO says exchange has closed shortfall in ETH reserves, 24 February 2025. ↩ ↩2
Timeline
- 2 Feb 2025The domain getstockprice[.]com is registered. The attackers’ Docker project later connects to it. thehackernews.com
- 4 Feb 2025A Safe{Wallet} developer’s Mac is compromised after they run a Docker project named MC-Based-Stock-Invest-Simulator-main. thehackernews.com
- 5 Feb 2025The attackers fail to register their own MFA device on Safe{Wallet}’s AWS account, then use the developer’s active session tokens instead. cryptoslate.com
- 19 Feb 2025Malicious JavaScript is placed in Safe{Wallet}’s S3 bucket. The same day, the attackers deploy the contract that will later empty the wallet. sygnia.co
- 21 Feb 2025, 14:13 UTCBybit’s signers execute what they believe is a transfer from cold storage to a hot wallet. It replaces the wallet’s logic. etherscan.io
- 21 Feb 2025, 14:15 UTCClean copies of the JavaScript are uploaded to Safe{Wallet}’s bucket, about two minutes after the transaction. bleepingcomputer.com
- 21 Feb 2025, 14:16 UTC401,347 ETH leaves the cold wallet in one transfer. Staked ether tokens follow. etherscan.io
- 22 Feb 2025Bybit offers 10% of anything recovered to whoever helps trace or freeze it. theblock.co
- 24 Feb 2025Bybit’s CEO says the exchange has replaced the missing ether with loans, deposits and purchases. theblock.co
- 26 Feb 2025The FBI attributes the theft to North Korea and publishes 51 Ethereum addresses holding the proceeds. Sygnia and Verichains trace the cause to Safe{Wallet}’s infrastructure. ic3.gov
- 27 Feb 2025More than half the stolen ether has been converted to bitcoin, most of it through THORChain. theblock.co
- 6 Mar 2025Safe publishes preliminary findings from its investigation with Mandiant. cryptoslate.com
- 20 Mar 2025Bybit reports 89% of the funds still traceable, 7.6% untraceable and 3.5% frozen. cointelegraph.com
- 30 Apr 2025German police shut down the exchange eXch, through which more than $200 million of the proceeds had passed, and seize about $38 million. therecord.media