Showcase Investigation

Wormhole Bridge $320M Hack — Signature Verification Bypass

In February 2022, an attacker forged guardian authorization on the Wormhole bridge by exploiting a deprecated Solana instruction, minting 120,000 wETH without collateral and converting it to ETH before the protocol team could respond. Jump Trading replaced every stolen dollar within 24 hours. The attacker's $320M in ETH has never been recovered.
Updated June 16, 2026 · 10 min read · Authored by 5CIP analyst team

Incident Overview

At approximately 18:24 UTC on February 2, 2022, 120,000 wETH materialized on Solana without a single wei of backing collateral deposited on Ethereum. The attacker forged the authorization message that the Wormhole bridge required to mint, bridged the entire position to Ethereum across two transactions, and converted it before the protocol team could respond. Total value at exploitation: approximately $320M.

What distinguishes the Wormhole incident from the broader category of bridge exploits is the bypass mechanism. Most large bridge hacks in 2021–2022 — Ronin, Harmony Horizon, Nomad — either compromised validator private keys or exploited flawed message replay logic. Wormhole required neither. The attacker never touched a guardian key; the guardian set remained intact throughout. The entire $320M was extracted by convincing a single deprecated code path to skip the signature check that protected the live path. That is a qualitatively different attack surface: not a cryptographic failure, not a social engineering compromise, but a dead function left live in deployed bytecode.

Jump Trading, which had backed Wormhole and depended on it for cross-chain market making, replaced every stolen dollar within twenty-four hours — a private intervention at a scale the DeFi ecosystem had never seen and has not seen since. That decision made protocol users whole. It did nothing to touch the attacker's funds. The ETH extracted on February 2 is still on-chain, still unrecovered, and still traceable to a documented address cluster. The Jump replenishment and the attacker's stolen ETH are entirely separate pools. Conflating them — treating the bailout as resolution — is the single most common analytical error in secondary coverage of this case.

Exploit — Deprecated verify_signatures Instruction

The Wormhole bridge enforced cross-chain asset movements through a 13-of-19 guardian multi-signature scheme. To authorize a minting event, a VAA (Verified Action Approval) had to carry signatures from at least 13 of the 19 designated guardian nodes. That threshold check was correctly implemented on the live instruction path. The critical assumption embedded in that design — the assumption that failed — was that the live path was the only path reachable by an external caller.

A deprecated Solana instruction, verify_signatures, had been superseded in a prior upgrade but remained in the deployed program's bytecode. The live path enforced the guardian threshold. The deprecated path performed a narrower check: it verified only that the account passed as the System Program was a System Program — but it verified this by examining caller-supplied data rather than validating the pubkey against the canonical Solana System Program address. An attacker who passed a spoofed account could satisfy that check without supplying any guardian signatures at all. The deprecated instruction then emitted a signal that downstream program logic treated as equivalent to a fully validated VAA.

This is the architectural failure in precise terms: the program's trust model assumed that VAA validity implied guardian threshold verification. That assumption held on the live code path. It failed on the deprecated path because the deprecated path was never updated to enforce the same invariant — it was merely superseded, not removed. The guardian keys were never at risk. The attacker's capability was entirely derived from program logic reachable without credentials. This is what separates the Wormhole signature bypass from the Ronin bridge hack eight weeks later, where the attacker required and obtained five compromised validator keys through a sustained social engineering campaign. Wormhole required only the ability to call a public instruction.

One timing detail is forensically significant: the vulnerability had been disclosed to the Wormhole development team approximately thirty minutes before exploitation. A patch existed. It was not deployed. The question of whether the attacker learned of the vulnerability through independent discovery or by monitoring Wormhole's GitHub repository at the moment of disclosure has not been definitively resolved in the public record. Both scenarios are consistent with the timeline. An independent discoverer with a thirty-minute head start on a team receiving a disclosure is plausible; a sophisticated actor monitoring repository commit activity for evidence of an emergency patch is equally plausible and has documented precedent in other protocol exploits. What is confirmed: the attacker executed within the window between disclosure and patch deployment. Whether that window was discovered or manufactured is inference, not established fact.

Attacker Tactics — What the Choices Reveal

The attacker made a series of deliberate choices that, taken together, indicate familiarity with both DeFi bridge mechanics and on-chain forensic methods. Reading those choices backward provides more reliable intelligence about capability than any post-hoc attribution guess.

The two-transaction bridge structure. The 120,000 wETH crossed to Ethereum in two batches — 80,000 first, then 40,000 — rather than a single transfer. Splitting a position of that size across transactions serves two possible purposes that cannot be separated from the on-chain record alone: gas-limit management on a large bridge operation, or deliberate staging to confirm the first transfer completed before committing the second. The fact that the second transfer followed the first without a meaningful pause argues against a wait-and-observe strategy and is more consistent with a technical constraint. Either way, the choice produced no meaningful obfuscation benefit, suggesting the split was functional rather than defensive.

Immediate wETH unwrapping. On arrival at Ethereum, the wETH was converted to native ETH through on-chain swaps almost immediately. This is a standard opening move: wETH can be frozen by token contract administrators; native ETH cannot. An attacker aware of this asymmetry would prioritize unwrapping ahead of any other action. The Wormhole attacker did exactly that, which confirms awareness of the token-level freeze risk that existed for wETH at the time. The sequencing — bridge, unwrap, distribute — was correct in the order that minimized intervention surface at each step.

Batch sizing in the distribution phase. At depth-2 and depth-3 from the initial Ethereum aggregation addresses, ETH was moved in batches sized to avoid round-number thresholds — the heuristics that automated monitoring systems use to trigger alerts. The gas spend pattern across those distribution transactions shows elevated fees on several hops, consistent with prioritizing speed over cost. That trade-off — paying more to move faster — is the correct choice in the first 72 hours after a high-profile exploit, when exchange freeze requests and OFAC designation timelines are shortest. The attacker's fee behavior is evidence of an actor who understood that the early window was the highest-risk window.

CEX avoidance in the primary cluster. In the confirmed post-hack window, the attacker avoided any centralized exchange deposit that has been documented in the public forensic record. The absence of CEX interaction in the primary cluster is informative: it indicates either sufficient sophistication to recognize that KYC exposure was the primary legal risk, or access to off-ramp channels — OTC desks, peer-to-peer networks, cross-chain anonymity protocols — that do not require exchange accounts. The ~$47M that interacted with DeFi protocols in the months following the hack used protocol routing that left event-log evidence anchors but did not expose any identity-linked account. That is a specific capability: the ability to generate on-chain complexity without creating off-ramp exposure. It is not a capability possessed by unsophisticated actors.

Comparison to the Ronin attacker's errors. The Lazarus Group actors behind the Ronin hack — which occurred eight weeks after Wormhole and extracted $625M — made a decision the Wormhole attacker did not: they eventually moved funds through Tornado Cash at a scale that produced identifiable deposit-clustering signatures, and portions were tracked to CEX accounts that were frozen. The Wormhole attacker's avoidance of that pattern is either evidence of better operational discipline or evidence that the actor had off-ramp infrastructure that rendered mixer-and-CEX routing unnecessary. Both interpretations are consistent with the on-chain record. The public record does not permit choosing between them.

Cross-Chain Movement — Solana to Ethereum

The 120,000 wETH crossed to Ethereum in two bridge transactions — 80,000 wETH first, then the remaining 40,000. On Ethereum, the wETH was unwrapped to native ETH through on-chain swaps almost immediately after arrival. The swap routing minimized slippage on a position of that size and left a clean evidence trail: the Wormhole bridge contract as origin, the swap routers as intermediate hops, and the aggregation addresses as the first resting point of the native ETH. Each of those hops is documented at Tier 1A confidence — direct chain links with TX hashes, confirmed block numbers, and verified from/to address pairs.

The Solana execution layer — the minting event, the forged VAA, the initial wETH issuance — is publicly documented in Solana block explorers and has been separately analyzed by Solana-native forensic tooling. Our investigation pipeline anchors to the Ethereum side and treats the bridge transaction hashes as the handoff point between chains. The Solana chain-of-custody is outside our primary ETH report scope, but the bridge output addresses provide clean, verifiable entry points for the Ethereum attribution graph. No inference is required at the chain boundary; the bridge contract event logs record the receiving address with full TX confirmation.

This two-chain structure is forensically significant compared to purely single-chain thefts. In a single-chain exploit, the stolen funds and the exploit execution share a common ledger; every hop from exploit transaction to final destination is auditable in one place. A cross-chain exploit breaks that continuity. The Solana minting event and the Ethereum distribution graph are forensically separate records that must be linked through the bridge transaction. That linkage is available in this case — it is a confirmed TX hash, not an inference — but it creates an evidentiary seam that adversarial counsel could attempt to exploit in civil proceedings. A complete forensic submission must close that seam explicitly, presenting the Solana mint, the Wormhole bridge handoff, and the Ethereum distribution as a documented chain of custody with no inferential gaps.

Jump Trading's $320M Replenishment — Structure and Forensic Implications

Jump Trading's decision to replenish $320M within twenty-four hours is structurally unprecedented in DeFi history. The mechanism was not an insurance payout, not a DAO governance vote, and not a protocol treasury drawdown. Jump transferred its own capital to restore the Wormhole collateral pool — converting a protocol insolvency event into a temporary solvency gap that was privately closed before most users experienced any consequence.

Jump's motivation was structural rather than charitable. Wormhole was core infrastructure for Jump's cross-chain market-making operations. A protocol collapse that left the Solana wETH pool under-collateralized would have created cascading pricing distortions across every market Jump ran that relied on Wormhole as a price and liquidity bridge. The $320M replenishment is more accurately characterized as a capital deployment to protect a larger market-making book than as a rescue act. Jump did not announce the replenishment in advance; they executed it. That sequencing — act first, announce second — is the behavior of an actor managing operational risk, not reputational risk.

The forensic consequence of the replenishment is this: it created a clean separation between two pools of funds that must never be conflated in a forensic submission. Jump's replenishment capital entered the Wormhole collateral pool on Ethereum via documented on-chain transactions. The attacker's 120,000 wETH — converted to ETH and distributed across the attacker-controlled cluster — never intersected with Jump's replenishment. These are separate ledger events. Any analysis that treats the replenishment as "recovery" of the stolen funds is factually incorrect and would be disqualifying in a judicial-grade submission.

Jump's replenishment may also be relevant to civil standing. A firm that has made protocol users whole through direct capital transfer has a credible argument for subrogation — the legal doctrine under which a party that pays another's loss steps into that party's shoes for recovery purposes. Whether Jump has pursued or intends to pursue civil recovery through this standing is not public information. What is established: the legal theory is available, Jump is a U.S.-headquartered entity with access to federal courts that have issued John Doe subpoenas in analogous crypto theft cases, and the attacker's primary Ethereum addresses are fully documented.

Attacker Funds — Post-Exploitation Status

The attacker's original ETH remains on-chain and unrecovered as of the date of this publication. The Jump Trading replenishment resolved the protocol's solvency position; it had no effect on the attacker's fund position. The two outcomes are independent.

The on-chain record documents the following confirmed fund movements in the post-exploitation period:

  • ~$47M in DeFi protocol interaction: Confirmed by on-chain event logs. The ETH was routed through DeFi protocols in the months following the hack. The routing produced additional on-chain forensic anchor points — each protocol interaction is a logged event with TX hash, block number, and counterparty address — but did not expose any identity-linked account. This is assessed at Tier 1B confidence: event-log verified, no direct chain link to a CEX deposit.
  • Majority of funds in documented attacker-controlled addresses: The primary cluster has been under continuous on-chain surveillance by multiple independent forensic firms since February 2022. No confirmed off-ramp to a KYC-linked account has been identified in the public record. This absence is a confirmed forensic finding, not a gap — the addresses have been monitored, and the movements have been documented. The absence of CEX interaction in the primary cluster is affirmative evidence, not a failure of the investigation.
  • Long-term dormancy as tactical behavior: Dormancy in large-exploit address clusters is not passive; it is the tactically correct choice when the amounts involved are sufficient to attract global law enforcement attention and when OFAC designation timelines are active. The Lazarus Group's Ethereum cluster from the 2022 Ronin hack exhibited similar multi-year dormancy before partial movement. Dormancy is surveillance-consistent behavior, not evidence of abandonment.

Any movement from the documented attacker cluster — including dust transactions, token approvals, or small ETH transfers that may precede larger movements — constitutes a forensically significant event and should trigger immediate analysis. Patterns observed in comparable cases (Ronin, Harmony Horizon) indicate that precursor activity in dormant clusters typically precedes larger fund movements by days to weeks.

Bottom line

The Wormhole hack is forensically distinct in three ways: the signature bypass required no key compromise — only a call to a deprecated public instruction; Jump Trading's $320M replenishment created subrogation standing that makes civil recovery more legally accessible than in most comparable hacks; and the attacker's primary ETH cluster is fully identified in the public record, meaning the forensic threshold work is complete. The open question is not whether the funds can be traced — they can — but whether a trigger event (CEX deposit, OFAC designation, civil subpoena) will convert that traceability into recovery before dormancy strategies outlast legal momentum.

Need a forensic report on the Wormhole hack?

5CIP can provide a judicial-grade chain-of-custody report on the Wormhole $320M exploit — covering the Solana mint event, the cross-chain bridge handoff, and the full Ethereum distribution graph — structured for submission to U.S. federal court or OFAC referral.