en

How bitcoin cold wallets lost $70 million in an attack that never touched the devices

image
rubric logo Security
dislike like 2

More than 1,000 bitcoin, worth about $70 million, was drained from 1,196 wallets in a 41-minute window on July 30, nearly double the amount reported when the theft first surfaced.

Galaxy Research mapped the full event on Friday, finding 1,082.65 BTC swept between 01:10 and 01:51 UTC across six blocks, with three intervening blocks containing nothing, which suggests the transactions were broadcast in batches rather than continuously.

The proceeds sit in four addresses and have not moved. Early reporting captured only one of those addresses, which is why the figure has grown.

The size of the attack is much smaller than some of the bigger attacks this year, but the mechanism is what makes this unusually — and why the attack is such a big deal.

Why the Coldcard wallet exploit is a bigger deal than most exploits

Most crypto theft involves getting to something. An exchange is breached, a contract is tricked, a key is phished off a laptop. The defence has always been distance, which is precisely what a hardware wallet sells. Keep the key on a device that never connects to the internet and, theoretically, there is nothing for an attacker to touch.

Most crypto thefts require reaching the key. This one rebuilt it. (Shaurya Malwa/CoinDesk)

When a wallet is created, the device is supposed to pick a number so large and so unpredictable that guessing it is impossible.

That number is the seed, and every address and private key derives from it by fixed public rules. Coldcard's firmware was meant to draw that number from a dedicated hardware randomness generator. An internal build setting told it to skip that generator, and a check in a supporting library tested only whether the setting existed rather than whether it was switched on.

Key generation fell through to a basic software substitute seeded from the chip's serial number and its clock registers. This serial number is fixed factory metadata, and clock values are timing state an attacker can narrow down or measure on a device of their own.

The consequence was that the range of keys the device could ever produce collapsed from unimaginably vast to countable. Security teams found that generation of keys could be determined on the older Mk2 and Mk3 — numbers for different models of Coldcard — but on the Mk4, Q and Mk5, they put the range at roughly four billion possibilities.

Four billion is a large number to a person but a small one to a computer. An attacker generates candidate seeds on their own hardware, derives the addresses each would produce, and checks those addresses against the public blockchain, which anyone can download.