Fireship: ColdCard's Air-Gapped Bitcoin Wallet Leaked 1,600 BTC Because a `#ifndef` Check Passed on a Flag Set to Zero
In an August 5 Code Report, Fireship walks through the ColdCard/Coinkite failure: their firmware runs MicroPython, whose weak RNG was supposed to be disabled by setting a flag to 0 — but both RNGs exported the same function name and the crypto library chose between them with an if-not-defined check, which passed because the flag was defined (as zero). For five years every seed phrase came from MicroPython's RNG, which on bare metal has no entropy source and falls back to chip serial number plus a timer, both deterministic, collapsing 128 bits to a brute-forceable space. Since July 30 attackers have drained over 1,600 BTC (~$400M) from more than 7,000 wallets with no malware or phishing, and victims are now bidding against the attackers to buy back their own coins.
Source
↳ Follow the thread