Alephium
An attacker drained about $815K from Alephium's TokenBridge on Ethereum. The bridge mints its wrapped ALPH token and releases funds only when a quorum of its guardians sign off, and the attacker got hold of 3 of the 4 guardian keys. With those, they signed fake approval messages that told the bridge to mint 13.76 million wrapped ALPH out of nothing, more than the entire amount that existed before, and to hand over its USDT, USDC, WBTC and WETH. The funds were swapped to ETH and spread across dozens of wallets. The bridge's code worked correctly. The keys behind its signatures were compromised.
Alephium is not one of the protocols we publish a live safety score for, so we had no prior reading on it. The weakness here is the kind our model weighs heavily for bridges: a small set of signing keys can authorize minting tokens and releasing funds, with no on-chain delay or rate limit to slow an attacker who gets hold of enough of those keys.
The attacker controlled 3 of the 4 guardian keys behind Alephium's TokenBridge on Ethereum. Using those keys they signed fake approval messages and submitted them to the bridge, which minted 13.76 million wrapped ALPH out of nothing to their wallet and released the bridge's USDT, USDC, WBTC and WETH from custody. The wrapped ALPH token was then dumped to ETH through a decentralized exchange and the proceeds were fanned across dozens of fresh wallets.
Safe. Other bridges and protocols, and the TokenBridge contract code itself, were not affected.
Three of four guardian signing keys were compromised. The attacker signed fake approvals that completeTransfer honored as a quorum-signed message, minting 13.76M wrapped ALPH and releasing custody. Not a contract bug.
Full forensic detail
Step-by-step reconstruction, root cause, counterfactuals, remediation, and disclosure timeline.
Exploit anatomy
Root cause
Alephium's TokenBridge is a Wormhole-style bridge that honors any approval message signed by a quorum of its guardian set, three of four. Three guardian keys were compromised, so the attacker could forge approvals the bridge accepted as authoritative, minting 13.76 million wrapped ALPH and releasing USDT, USDC, WBTC and WETH from custody. The on-chain signature check worked exactly as designed. The off-chain guardian signing authority was the failure surface, and there was no on-chain rate limit or delay to blunt the damage.
// Wormhole-style bridge: any quorum-signed VAA is honored
function completeTransfer(bytes memory encodedVm) public {
// verify guardian signatures on the VAA, then mint or release custody
// no per-message value cap, no rate limit, no mint ceiling
}Prevention analysis
Similar incidents
Same bridge family and entry point: a forged approval message passed to completeTransfer minted wrapped tokens. There it was a signature-verification bug; here the guardian keys were compromised. Same end state.
Same week, same class: the validators behind a bridge had their signing authority subverted, and the bridge honored the messages they signed. See our Gravity Bridge report.
Bridge message forgery leading to a custody drain; the bridge trusted messages it should not have. Same architecture-level failure.