Showcase Investigation

Bybit $1.43B Exchange Hack — Lazarus Group Investigation

North Korea's Lazarus Group executed a staged supply-chain attack on Safe{Wallet} to drain 401,347 ETH from Bybit's cold wallet in February 2025. 5CIP's 6-iteration attribution pipeline traced fund dispersal across 116 entities spanning Ethereum mainnet, Optimism, Base, and zkSync — revealing a deliberate tactical evolution away from Tornado Cash toward L2 bridges as the primary obfuscation layer.
Updated June 16, 2026 · 14 min read · Authored by 5CIP analyst team

Incident Overview

At 9:43 AM UTC on February 21, 2025, North Korea transferred $1.43 billion in a single transaction — the largest cryptocurrency theft on record, nearly double the previous high mark. The Lazarus Group, designated under OFAC Executive Order 13722, drained 401,347 ETH from Bybit's Ethereum cold wallet through a supply-chain attack that made the signing interface itself the weapon.

What separated this from every prior Lazarus operation wasn't the scale — it was the target selection logic. Hardware-enforced multisig is supposed to be immune to remote compromise because the private keys never leave their physical devices. Lazarus didn't attempt to extract the keys. They identified the gap between the keys and the screen: the browser-rendered interface that the signers trusted to show them what they were authorizing. That gap had been present in every Safe{Wallet} deployment since the protocol's inception; it had simply never been weaponized at this fidelity before. The Bybit incident established that signing ceremony integrity — not just key custody — is now the primary adversarial attack surface for state-level actors targeting institutional crypto.

The contrast with the 2022 Ronin bridge theft ($625 million) is instructive: Ronin was a validator-key compromise — Lazarus obtained cryptographic material directly by targeting a single trusted node's private key storage. The Bybit operation required no cryptographic compromise at all. The signers' hardware keys remained physically secure throughout. This represents a deliberate capability evolution: Lazarus is no longer hunting keys. They are hunting the humans who use keys, and specifically the visual layer those humans depend on to verify what those keys are authorizing.

Attack Vector — Safe{Wallet} Supply Chain Compromise

Bybit's signers saw exactly what they expected to see. That was the point. Lazarus had already compromised a Safe{Wallet} developer's machine weeks before the attack, using that foothold to tamper with the AWS S3 bucket and CloudFront CDN distribution serving the signing interface. When Bybit's signers opened the Safe UI for a routine cold wallet operation, the JavaScript they loaded had been quietly replaced.

The injected code executed a precise swap at signing time: transaction destination and calldata were overwritten to route the entire cold wallet balance to attacker-controlled address 0x47666Fab8bd0Ac7003bce3f5C3585383F09486E2. The payload was timed precisely to Bybit's signing window and stayed live for approximately 15 minutes before being removed — leaving the CDN clean for post-incident forensics.

This 15-minute window is what distinguishes the Bybit supply-chain operation from every prior precedent in the category. The SolarWinds and 3CX supply-chain compromises involved persistent malicious code that remained in distribution for weeks or months. Lazarus staged, activated, and wiped their payload within a single transaction signing session. That operational discipline has two forensic consequences: CDN log analysis must focus exclusively on the narrow window of the signing ceremony itself (logs from hours before or after will show a clean distribution), and the attack leaves no persistent artifact for post-incident signature detection. Safe{Wallet}'s own post-incident report confirmed the developer machine compromise as the initial entry vector. The keys were never touched. The screen lied.

The deeper architectural failure this exposed: the Safe{Wallet} multisig security model assumes that if the keys are safe, the transaction is safe. That assumption is sound only when the display layer faithfully represents what the signing operation will execute. The moment an attacker controls the display layer, the assumption inverts — hardware key security becomes irrelevant because the signer is authorizing the attacker's transaction, not their own. Hardware wallet confirmation dialogs, which independently display destination addresses, were the one control that could have caught this at the ceremony level. The post-incident record does not establish whether signers cross-checked hardware confirmation screens against the UI display; the attack's success establishes that the verification gap was exploitable.

Fund Dispersal Pattern — 401,347 ETH in Motion

Within roughly 90 minutes of the drain, the 401,347 ETH was already fragmenting. The seed address distributed in tranches of 10,000 to 50,000 ETH to approximately 80 primary recipient addresses — a volume deliberately chosen to stay below automated exchange alert thresholds while still moving fast enough to outpace potential on-chain freezes. Each primary wallet then redistributed further, creating a second dispersal tier before the first blockchain confirmation had aged an hour.

The largest confirmed single dispersal was 50,000 ETH to 0xa4b7f436e0a71efffeab1e8d16b7216b6b5b449e. The pre-staged nature of the recipient wallets — all created weeks prior with only minimal ETH to cover future gas costs — is the clearest indicator that this was an operation rehearsed well before February 21. You don't generate 80 wallets in the 15 minutes between drain and dispersal.

This pre-staging is consistent with Lazarus Group's documented operational cadence across prior campaigns, but the velocity here is unprecedented. In the Ronin incident, second-tier wallet movement lagged the initial drain by several hours; in the Harmony Horizon bridge hack, the lag was longer still. The Bybit dispersal compressed that window to under 90 minutes. The practical implication for investigators: on-chain freeze requests issued within two hours of the incident would have encountered funds already distributed across 80 addresses on multiple chains — a coordination problem that exceeds any single exchange's compliance capacity to address unilaterally. This is not accidental. The velocity was calibrated to exceed the freeze-response time of any single institutional actor.

Attacker Perspective — What Lazarus Chose and Why

Reasoning from the attacker's position reveals deliberate tactical choices that have direct implications for how investigators should prioritize tracing work and where behavioral attribution models should weight future Lazarus-linked incidents.

The most consequential choice was avoiding Tornado Cash in the initial dispersal phase. Prior Lazarus operations — Ronin, Harmony Horizon — went straight to TC for ETH obfuscation. At $1.43 billion, TC was not viable at this scale: the 100 ETH pool, which carries the highest anonymity set, would have required roughly 4,000 discrete deposits over an extended period, generating an unmistakable timing signature detectable by every major blockchain analytics provider within hours. Lazarus chose cross-chain bridges instead. The sequencing — bridge first, mixing infrastructure second — represents a confirmed tactical evolution from the 2022 playbook to the 2025 one. Investigators building behavioral attribution models for future Lazarus-linked incidents should weight this shift explicitly: TC deposits at scale are now a signature Lazarus has moved away from, not toward. An incident that follows the old Lazarus playbook of immediate TC deposits is either an earlier-era operation or an imitation.

The choice of L2 bridges over cross-chain atomic swaps is also deliberate and merits specific analytical weight. L2 transaction data lives in separate databases under separate operator jurisdictions, requiring separate legal process in separate venues. From the attacker's standpoint, every additional data silo that investigators must subpoena independently is an additional opportunity for process delays, jurisdictional friction, and information gaps. Optimism, Base, and zkSync are not interchangeable infrastructure choices in this context — they are individually addressable legal obstacles, and Lazarus used all three.

The Lido stETH conversion serves a different tactical purpose: it is not primarily about obfuscation but about creating numerical complexity for automated tracing tools. A rebasing liquid staking derivative doesn't produce transfer events that match standard ETH tracing logic. Tools that don't account for daily rebase adjustments will show apparent balance discrepancies that can be misread as additional mixing hops or funds sent to unidentified destinations. That confusion is almost certainly a feature from the attacker's perspective — it degrades the signal quality of any tracing system that treats ETH and stETH as interchangeable without handling the rebase arithmetic.

What Lazarus avoided is equally informative. There are no confirmed XMR cross-chain swaps in the initial dispersal phase. This is notable given that XMR is the documented standard exit vehicle for North Korean final conversion across prior campaigns. The absence means the Bybit funds remain, as of this investigation, substantially in the pre-monero staging phase. That is a material forensic and recovery observation: asset recovery via VASP cooperation remains technically possible in a way that it categorically would not be post-monero-conversion. The clock on that window is not indefinite.

Investigation Findings — 116 Entities, 6 Iterations

Starting from seed address 0x47666Fab8bd0Ac7003bce3f5C3585383F09486E2, our trace resolved 116 distinct entities across six independent attribution passes — 113 reaching consensus at 80% or higher, three requiring additional intelligence confirmation. The entity count alone understates what the graph reveals.

The 80-plus dispersal wallets show tight clustering in their on-chain gas patterns: transactions initiated within the same narrow block-time windows, a signature consistent with automated orchestration from a single controller rather than human operators working wallets by hand. This cluster behavior is confirmed — not inferred — from block-level timing data in the Etherscan record. It establishes that the dispersal was scripted, executed against a pre-loaded wallet list, and completed without manual intervention.

That has a direct legal implication: there is a single operational controller behind the 80-plus wallets, not 80 independent actors. Subpoenas and asset freeze requests should reference the unified orchestration signature, not treat each dispersal wallet as a standalone entity. Jurisdictions that process freeze requests by individual address risk being outpaced by a controller who can generate new staging wallets faster than legal process can catch up.

  • Total entities identified: 116
  • High-confidence (≥80% consensus, Tier 1A/1B): 113
  • Requires additional intelligence confirmation (Tier 2): 3
  • Direct dispersal wallets (SEED_DISPERSAL layer): 80+
  • Cross-chain bridge contracts: 5
  • DeFi protocol contracts: 8

Cross-Chain Movement via Optimism, Base, zkSync

Five cross-chain bridge contracts appeared at 100% confidence across all six investigation iterations. The consistency of their appearance is itself a forensic signal: these were not incidental routing choices but structural components of the laundering architecture, used repeatedly across multiple dispersal wallet flows.

  • Optimism Bridge0x99c9fc46f92e8a1c0dec1b1747d010903e884be1
  • Base Bridge0x3154cf16ccdb4c6d922629664174b904d80f2c35
  • Base Portal0x49048044d57e1c92a77f79988d21fa8faf74e97e
  • zkSync Lite0x32400084c286cf3e17e7b677ea9583e60a000324
  • zkSync Bridge0xabea9132b05a70803a4e85094fd0e1800777fbef

The critical distinction from prior Lazarus cross-chain operations is that the Bybit funds were bridged to L2s before any on-chain mixing, not after. In the Harmony Horizon bridge attack, Lazarus bridged funds from BSC to Ethereum and then ran them through TC. Here, the bridge is the first obfuscation layer, not the second. That sequencing is deliberate: by the time funds reach L2, any real-time monitoring system anchored to Ethereum mainnet has already lost the trail unless L2 data is being actively ingested in parallel. Most exchange compliance systems were not doing that in February 2025.

Law enforcement agencies pursuing asset recovery should issue parallel data preservation requests to the infrastructure operators of all five contracts above, specifying the block range from February 21, 2025 09:43 UTC through February 22, 2025 00:00 UTC. Preservation requests that arrive more than 30 days post-incident risk encountering data retention limits at operators with short log-retention policies. That window has passed for this case; future incidents require same-week preservation requests.

DeFi-Assisted Laundering — Uniswap, Curve, 1inch, Lido

Eight DeFi protocol contracts appeared consistently in the fund flow. Their role is not mixing in the Tornado Cash sense — none of these protocols have an anonymity set. Their function is conversion: transforming ETH into a basket of tokens with distinct transfer event signatures, making simple ETH-value tracing insufficient for reconstructing the complete asset trail.

  • Uniswap V3 Router 2
  • Uniswap Universal Router
  • SushiSwap Router
  • Curve Tricrypto2
  • Lido stETH
  • 1inch V4 Router
  • 1inch Router V5
  • 0x Exchange Proxy

The Lido stETH conversion requires specific treatment in any forensic reconstruction. Unlike a direct token swap, stETH produces daily rebase events that alter holder balances without generating standard ERC-20 Transfer logs. An investigator who reconstructs the asset trail using only Transfer event logs — which is the default for most automated tracing tools — will observe a balance that appears to shrink and grow independently of any discrete transaction. That artifact can be misread as additional mixing hops or unexplained outflows, artificially inflating the apparent complexity of the trail. Forensically correct stETH tracing requires ingesting Lido's oracle rebase events and applying the rebase share-to-token ratio at each block where a balance check is performed.

The 0x Exchange Proxy and 1inch routers present a different challenge: they aggregate liquidity across multiple venues, meaning a single router transaction may involve multiple underlying token pools. Tracing the economic value of a swap through these routers requires parsing internal call traces, not just the top-level transaction. Block explorers that display only the top-level transaction will miss the intermediate pool interactions and may present an incomplete or misleading value flow.

Attribution Confidence and Methodology

Attribution confidence is calibrated per the three-tier framework defined in our forensic methodology. All 113 high-confidence entities are attributed at Tier 1A (direct on-chain link with TX hash at each hop, 99% confidence) or Tier 1B (event log verification via Transfer/Deposit event parsing, 95% confidence). The three entities at Tier 2 (80% confidence) have indirect chain links confirmed by MistTrack intelligence labels but lack a continuous direct TX-hash chain from the seed address.

Consensus methodology: entities must appear in at least three of six independent attribution runs to qualify for inclusion. The six runs used distinct random seeds for graph traversal ordering, ensuring that ordering artifacts do not produce false consensus. An entity appearing in only one or two runs is flagged as a candidate requiring manual review, not included in the consensus report.

Two entities in the current dataset remain unattributed at the owner level — the on-chain trail reaches their addresses, but controlling-party identity requires off-chain intelligence. Both are EOA addresses (not contracts) with no public exchange labels in the MistTrack or Arkham databases as of the investigation date. These are candidates for law enforcement subpoena to identify the registration KYC behind any deposit into a labeled exchange from these addresses in the six months following February 21, 2025.

Bottom line

The Bybit $1.43B theft is the definitive case study in signing-ceremony attack surface: Lazarus didn't compromise the keys, they compromised the screen. The 15-minute payload window, pre-staged 80-wallet dispersal infrastructure, and deliberate avoidance of Tornado Cash at scale all confirm a 2025 Lazarus playbook that has materially diverged from the 2022 Ronin template. 5CIP's 116-entity consensus map provides a judicially usable asset trail; recovery remains technically possible because no confirmed XMR conversion has been identified, but the VASP cooperation window is finite and narrowing.

Need a forensic report on this case?

5CIP can provide judicial-grade investigation reports with complete chain-of-custody documentation for the Bybit $1.43B Exchange Hack and similar state-actor incidents, including stETH rebase accounting, L2 bridge transaction parsing, and OFAC SDN exposure analysis.