Drift
A team posing as a quant trading firm spent six months getting close to Drift's developers, then tricked two of the protocol's signers into blindly approving transactions that handed over admin control. With control of the protocol, the attacker invented a fake collateral token, deposited it, and withdrew $285 million from three vaults in twelve minutes. Funds were swapped to USDC, bridged to Ethereum, and laundered through addresses pre-funded via Tornado Cash. The attack has been attributed to UNC4736, a North Korean state-sponsored group.
Our pre-hack assessment flagged Drift's centralized admin authority and weak development practices as its biggest exposures. Both became the attack surface: compromised signing keys gave the attacker total protocol control.
The attackers compromised two of Drift's signers, extracted blind pre-signatures over six months, then submitted anadmin transfer proposalandadmin transfer executionone second apart, taking over protocol control before draining three vaults and bridging out to Ethereum viathe attacker's address.
Full forensic detail
Step-by-step reconstruction, root cause, counterfactuals, remediation, and disclosure timeline.
Exploit anatomy
update_spot_market / add_collateralwithdrawbridgeRoot cause
Compound failure across three layers. First, operational security: a six-month social engineering campaign compromised two Security Council members' devices. The attacker extracted blind pre-signatures on durable nonce transactions. Second, governance architecture: the March 26 migration to a 2/5 Security Council threshold with zero timelock removed the protocol's last automated safeguard. Only 2 compromised signers were needed. No delay existed to detect the attack. Third, collateral validation: once admin control was obtained, no circuit-breaker or independent check prevented an admin from whitelisting an arbitrary token with fabricated price data as collateral. Social engineering, weak multisig governance, and absent admin-action guardrails combined for total drainage. This wasn't a smart contract vulnerability. Drift's on-chain code functioned as designed. The failure was in operational security and governance parameter choices.
Prevention analysis
Would have created a detection window between the admin transfer proposal (16:05:18 UTC) and execution. Community monitors and automated alerts would have flagged the unauthorized transfer before it took effect.
Security Council members would have seen the actual effect of each transaction instead of raw hex data. The admin transfer payload would have been legible. Blind approval prevented.
Would have capped drainage at about $50M before automated pause kicked in. The 31-transaction, 12-minute withdrawal pattern would have tripped it immediately.
The fabricated CVT token could not have been whitelisted without independent sign-off from a separate oracle committee or on-chain governance vote.
Would have killed the social engineering vector outright. Signing ceremonies requiring physical co-presence with independent verification make blind signing attacks infeasible.
Similar incidents
Same threat actor (UNC4736/DPRK). Social engineering of multisig signers, device compromise, blind transaction signing. Radiant attack confirmed by Mandiant as same group.
DPRK-attributed (Lazarus Group). Social engineering via fake job offer to compromise validator keys on a 5/9 multisig. Same pattern: long-duration social engineering to obtain signing authority.
DPRK-attributed. Multisig compromise through social engineering and blind signing. Similar governance failure pattern.
Remediation
Timeline
Get your protocol scored across 12 dimensions, or request ongoing coverage.