Op 30 juli is er in korte tijd een grote Bitcoinroof geweest: een aanvaller wist 1.196 adressen leeg te halen binnen 41 minuten. Volgens Galaxy Research ging het om 1.082,65 BTC, goed voor ongeveer $70,2 miljoen op dat moment. De aanval bleek gekoppeld aan een firmwarefout in de Coldcard hardware wallet, een Bitcoin-only device van de Canadese leverancier Coinkite.
Wat dit incident extra zorgelijk maakt, is dat de kwetsbaarheid niet draait om een gestolen toestel of een geslaagde inlogpoging. Het probleem zit in de manier waarop de wallet tijdens het aanmaken van zaden (seedwoorden) willekeur genereert—met gevolgen voor welke adressen daarna haalbaar zijn voor een aanvaller.
Wat er precies misging bij de Coldcard hardware wallet
De kern van het probleem is terug te voeren op een integratiefout in firmware uit maart 2021. Daarbij werd de seedgeneratie niet uitgevoerd met de beoogde STM32 hardware random number generator (RNG), maar met een deterministische software PRNG (pseudorandom number generator). Dat is een belangrijk verschil: als die PRNG voorspelbaar of reproduceerbaar wordt, wordt ook de seed—en daarmee de gecreëerde adressen—potentieel te herleiden.
Block beschrijft hoe een aanvaller, als die bepaalde kenmerken kan bepalen of voldoende kan beperken, de kandidaat-uitvoer offline kan nabootsen zonder het apparaat rechtstreeks te hoeven benaderen. De aanpak werkt grofweg zo: de aanvaller genereert mogelijke seedkandidaten, leidt daaruit de bijbehorende adressen af en vergelijkt die met openbare gegevens op de blockchain.
Warum het verlies in 41 minuten kon gebeuren
De publicatie maakt duidelijk dat het niet om “toeval” ging. Galaxy Research kon de door de aanvaller uitgevoerde sweep in kaart brengen en koppelen aan de firmwarefout. Het feit dat er in de periode rondom de aanval geen eerdere transacties zichtbaar waren met hetzelfde patroon, suggereert dat de diefstal waarschijnlijk specifiek door deze seed-kwetsbaarheid is gevoed.
Let op: Galaxy waarschuwt dat het bij het analyseren van patronen lastig kan zijn om onderscheid te maken tussen “iemand die zelf coins verplaatst” en “iemand die met een gereconstrueerde seed alle adressen leegmaakt”. Een sweep kan er dus in de praktijk hetzelfde uitzien, ongeacht de echte intentie.
Firmware fix lost een oude seed niet op
Coinkite heeft voor alle getroffen modellen en releasetracks nood-firmware uitgebracht op 31 juli. Daarmee is de fout in de seedgeneratie verholpen voor nieuw gebruik. Maar: het installeren van de update repareert een seed die al eerder is aangemaakt niet automatisch.
Coinkite adviseert daarom eigenaren van blootgestelde seeds om op de bijgewerkte firmware een nieuwe seed te genereren en vervolgens hun munten over te zetten. Cruciaal detail: als je de oude seed terugzet op een nieuwe firmware of hem in een andere wallet importeert, blijft de zwakte in de seed behouden.
Welke hardware wallet versies zijn kwetsbaar
De kwetsbaarheid hangt niet uitsluitend af van “welke firmware je nu draait”, maar van welke firmware actief was op het moment dat de seed werd gemaakt. Coinkite publiceert per model welke versies op de kwetsbare paden uitkomen. Block plaatst daarbij aanvullende nuances voor sommige reeksen.
Op hoofdlijnen geldt:
- Mk2 en Mk3: in het pad dat loopt van 4.0.0 t/m 4.1.9 (Coinkite noemt fixes in 4.2.0 voor Mk3-reeksen, en noemt geen Mk2-versies; Block betrokkent beide modellen in het kwetsbare traject).
- Mk4 en Mk5: alles vóór 5.6.0.
- Q: alles vóór 1.5.0Q.
- Edge builds: vóór 6.6.0X voor Mk4 en Mk5, en vóór 6.6.0QX voor Q.
Verder noemt Coinkite dat seedwoorden die zijn opgebouwd met minstens 50 fair, onafhankelijke, private dice rolls niet door deze specifieke bug alleen zouden worden beïnvloed. Als het aantal of de privacy van die rollen niet zeker is, raadt het bedrijf aan om te migreren.
Hoeveel “zwakker” de seed was: geen simpel getal
Coinkite schat de effectieve entropie als ongeveer 40 bits voor de Mk3 en ongeveer 72 bits voor Mk4, Mk5 en Q. Een standaard BIP-39 seed van 12 woorden staat doorgaans gelijk aan 128 bits entropie. Block geeft echter aan dat je dit niet 1-op-1 kunt vertalen naar één lineair aanvalsscenario: er zijn conditionele grenzen en de veiligheidsperceptie kan misleiden.
Ook is er geen publiek gerapporteerde brute-force benchmark. Block waarschuwt dat factoren zoals beschikbare informatie over de device UID, het boot-timing gedrag, eerdere RNG-call geschiedenis en de rekenkosten voor afleiding bepalend zijn voor de praktische kosten.
Wat is er later-model technisch gezien verbeterd?
De latere modellen reseeden de PRNG-kandidaten, waardoor het aantal mogelijke kandidaten groter wordt. Maar ook dat helpt niet automatisch: de uiteindelijke haalbaarheid blijft afhankelijk van hoeveel informatie de aanvaller kan samenstellen en hoe duur het is om af te leiden welke adressen bij de kandidaten horen.
Extra beschermingsmaatregelen: wat helpt wel en wat niet
Coinkite geeft aan dat een sterke, unieke BIP-39 passphrase een extra laag creëert waarbij de seedwoorden op zichzelf de passphrase-gebonden wallet niet kunnen bereiken. In de theorie vermindert dit het directe bereik van een gereconstrueerde seed naar een bruikbaar eindadres.
Toch adviseert het bedrijf desondanks om de seed te vervangen. Dat is begrijpelijk: ook al kan een passphrase bescherming bieden tegen “directe” toegang, het is lastig om alle omstandigheden en interpretaties van blootstelling met één maatregel te ondervangen.
Multisig biedt alleen bescherming in situaties waarin de quorum niet volledig bestaat uit betroffen apparaten. Systemen als TAPSIGNER, OPENDIME en SATSCARD gebruiken volgens de publicatie verschillende codebases en zouden daarom niet door deze specifieke bug zijn geraakt.
Geen publieke naam van de dader, wel context van eerdere PRNG-issues
In de berichtgeving is geen naam van de aanvaller opgenomen. Galaxy Research heeft de sweep die tot de diefstal leidde geanalyseerd en geen andere transacties gevonden in de voorafgaande dertig dagen met hetzelfde kenmerkende patroon (zoals 30 sat/vB en een no-change signature).
De disclosure volgt bovendien op eerder onderzoek van Coinspect, met de “Ill Bloom” bevindingen. Daarbij ging het om een separate PRNG-zwakte in oudere software wallets, die volgens de onderzoekscontext > $5 miljoen aan waarde zou hebben blootgesteld over meerdere ketens (Bitcoin, Ethereum, Tron, Rootstock en Polygon).
Praktisch: wat moet je nu doen als je een Coldcard gebruikt
Als je een Coldcard hardware wallet gebruikt, is de belangrijkste stap niet alleen “updaten”, maar beoordelen wanneer je je seed hebt aangemaakt. Was dat tijdens een kwetsbare firmwareperiode? Dan geldt dat je seed waarschijnlijk niet vanzelf veilig wordt door de nieuwste firmware.
De richtlijn uit de publicatie komt neer op:
- Installeer de nood-firmware zodat nieuwe seeds niet meer dezelfde fout bevatten.
- Genereer een nieuwe seed als je seed is blootgesteld.
- Verplaats je coins naar de nieuwe seed/wallet.
- Zet de oude seed niet terug op een geüpdatete firmware of in een andere wallet, want de zwakte blijft bestaan.
Wil je je daarnaast breder verdiepen in hoe (impliciet) vertrouwen in systemen kan doorwerken in aanvallen? Lees dan ook het artikel over impliciet vertrouwen in 4G/5G-kernen, waar een vergelijkbaar thema terugkomt: wanneer randvoorwaarden of aannames verkeerd worden ingevuld, kan dat tot onverwachte risico’s leiden.
Waarom dit incident ook supply-chain en engineeringlessen oplevert
Het verhaal achter de Coldcard hardware wallet gaat niet alleen over een individuele exploit, maar over een ontwerpfout: een macro/compile-time check die wel “bestaat”, maar niet verifieert of de gewenste functionaliteit ook daadwerkelijk aan staat. Dat soort fouten past in een groter beeld binnen software supply chain security: niet elk probleem is een klassieke bug in een UI of netwerkstack—soms zit het mis in integratielogica tussen componenten (zoals embedded RNG wrappers, libraries en buildconfiguraties).
Als je wilt zien hoe patchen, updates en het opvolgen van technische voorwaarden in de praktijk kunnen verschillen per product en situatie, kan dit artikel je helpen: implicaties van hacks en patches: wat je nu doet. Daarin ligt de focus op het vertalen van waarschuwingen naar concrete acties.
Conclusie
De diefstal van circa $70 miljoen in 41 minuten laat zien dat hardware wallets—ondanks hun reputatie—kwetsbaar kunnen zijn als seedgeneratie door een firmwarefout op een voorspelbare PRNG manier verloopt. De Coldcard hardware wallet-kwetsbaarheid draait om reproduceerbare kandidaat-seeds wanneer specifieke device-informatie en timing samenkomen.
De belangrijkste boodschap voor gebruikers is helder: update is nodig, maar update alleen repareert een bestaande seed niet. Wie een seed heeft aangemaakt binnen de getroffen firmwareperiode moet migreren naar een nieuwe seed en de munten herplaatsen. Zo voorkom je dat de adresruimte die al is opgebouwd, ook bruikbaar blijft voor een aanvaller.
Bron: https://thehackernews.com/2026/08/coldcard-hardware-wallet-flaw-linked-to.html
