Een aanvaller heeft op 30 juli misbruik gemaakt van zwakke seed-codes die door bepaalde Coldcard-hardwarewallets waren gegenereerd om bitcoin ter waarde van ongeveer tientallen miljoenen te stelen van honderden adressen.
De Coldcard-kwetsbaarheid uitgelegd: wie is er Bitcoin kwijtgeraakt en wie loopt er risico?

Belangrijkste punten
- Door diefstallen in verband met Coldcard is op 30 juli bitcoin uit honderden wallets verdwenen.
- Volgens Coinkite hadden Mk3-seeds ongeveer 40 bits entropie in plaats van 128.
- Coldcard-gebruikers moeten de gereviseerde firmware installeren en nieuwe seeds aanmaken voordat ze geld overmaken.
Volgens een diepgaande analyse van Galaxy Research vond de belangrijkste diefstal plaats in een strak gecoördineerde reeks van transacties die ongeveer 25 minuten duurde, terwijl een bredere analyse later ongeveer 1.196 adressen en maar liefst 1.083 bitcoin, met een waarde van bijna 70 miljoen dollar, in verband bracht met activiteiten die zich over ongeveer 41 minuten uitstrekten. De definitieve cijfers kunnen nog veranderen naarmate onderzoekers doorgaan met het traceren van transacties op de openbare Bitcoin-blockchain.
Een vijf jaar oude bug treft Bitcoin-wallets wereldwijd
De getroffen wallets waren grotendeels van langetermijnhouders die hun herstelzaden hadden gegenereerd met behulp van Coldcard-apparaten waarop kwetsbare firmware draaide die vanaf maart 2021 was uitgebracht. Coldcard is een air-gapped hardware-wallet van de Canadese fabrikant Coinkite, ontworpen om bitcoin (BTC)-sleutels geïsoleerd te houden van apparaten die met het internet zijn verbonden.
Veel van de leeggehaalde adressen waren al jaren inactief. De aanvaller handelde snel, betaalde hoge vaste transactiekosten en liet geen restbedragen achter, wat betekent dat elk adres volledig werd leeggehaald. Dat patroon duidde op een geautomatiseerde operatie waarbij gebruik werd gemaakt van een vooraf opgestelde lijst met privésleutels, in plaats van dat klanten zelfstandig hun geld verplaatsten.
De diefstal werd niet veroorzaakt door phishing, malware op de computer van een gebruiker, diefstal van een fysiek apparaat of een conventionele inbreuk op afstand. In plaats daarvan verzwakte een firmwarefout de willekeurigheid die werd gebruikt toen sommige Coldcard-apparaten wallet-seeds genereerden. Die seeds zagen er normaal uit, maar waren afkomstig uit een veel kleiner bereik van mogelijke combinaties dan aan gebruikers was beloofd.
De willekeurige-getallengenerator van Coldcard faalde stilletjes
Een Bitcoin-wallet-seed is een geheim, dat doorgaans wordt weergegeven als 12 of 24 woorden, waaruit de wallet zijn adressen en privésleutels genereert. Een correct gegenereerde seed van 12 woorden bevat 128 bits entropie, een technische maatstaf die een enorm aantal mogelijke combinaties beschrijft, waardoor het raden van de seed in feite onmogelijk is.
Coldcard-apparaten zouden die willekeurigheid moeten halen uit een hardware-generator voor willekeurige getallen in de microcontroller van het apparaat. Dit onderdeel maakt gebruik van fysieke elektrische ruis die een externe waarnemer niet zou moeten kunnen voorspellen.
Tijdens een migratie van de softwarebibliotheek in 2021 maakte Coinkite echter bekend dat twee functies voor het genereren van willekeurige getallen met overeenkomende interfaces door elkaar waren gehaald. De ene had toegang tot de juiste hardwaregenerator van het apparaat. De andere was een zwakke software-fallback, bedoeld voor printplaten zonder geschikte hardware.
Een configuratie-instelling schakelde het standaard MicroPython-hardwarepad uit, omdat Coinkite een eigen hardware-wrapper leverde. De software controleerde alleen of die instelling aanwezig was, niet of deze was ingeschakeld. Omdat de instelling wel aanwezig was maar de waarde nul had gekregen, werd de build succesvol voltooid, terwijl de generatie van de startwaarde ongemerkt overschakelde naar de zwakkere softwaregenerator.
Fabrieksgegevens en timing vervingen echte willekeurigheid
Die fallback was sterk afhankelijk van voorspelbare apparaatinformatie, waaronder een chip-identificatie die vergelijkbaar is met een serienummer en interne klokwaarden die verband houden met de opstarttijd. Een aanvaller die die invoergegevens zou kunnen beperken, zou te maken krijgen met een veel kleiner zoekgebied dan het 128-bits bereik dat verwacht wordt bij een veilig gegenereerde seed.
Coinkite schatte de effectieve zoekruimte voor kwetsbare Mk3-seeds op ongeveer 40 bits onder de huidige aannames. Dat is nog steeds een groot aantal mogelijkheden, maar het kan worden doorzocht met gespecialiseerde computerapparatuur, vooral wanneer een aanvaller kandidaat-seeds kan vergelijken met bitcoin-adressen die zichtbaar zijn op de blockchain.

Latere Coldcard-modellen, waaronder de Mk4, Q en Mk5, voegden enige willekeurigheid toe via een beveiligingselement. Slechts een beperkt deel daarvan bereikte echter de betreffende generator, waardoor er naar schatting 72 bits aan effectieve entropie overbleef op seeds die waren aangemaakt voordat de gecorrigeerde firmware was geïnstalleerd. Dat was sterker dan het Mk3-traject, maar nog steeds onder de beoogde 128-bits-standaard.
Het verschil is vergelijkbaar met het vervangen van een werkelijk willekeurige slotcombinatie door een combinatie die is afgeleid van het serienummer van het slot en het tijdstip waarop het voor het eerst werd ingeschakeld. De resulterende combinatie ziet er misschien willekeurig uit, maar iemand die de formule kent en de startinformatie kan inschatten, kan deze reproduceren. Veel gebruikers stappen over, niet alleen van Mk3-apparaten, maar ook van Mk4-, Q- en Mk5-apparaten.
Coinkite raadt gebruikers aan volledig nieuwe seeds aan te maken
Coinkite heeft beveiligingsadviezen gepubliceerd en firmware gecorrigeerd nadat het zich bewust werd van de actieve dreiging. Het bedrijf zei dat gebruikers die seeds hebben gegenereerd op de getroffen firmware een volledig nieuwe seed moeten aanmaken met behulp van een gecorrigeerde versie en hun bitcoin moeten overzetten naar adressen die door die seed worden beheerd.
Het installeren van de update alleen is niet voldoende. Een seed die onder het gebrekkige systeem is aangemaakt, blijft permanent kwetsbaar omdat de firmware-update geen willekeurigheid kan toevoegen aan woorden die al bestaan.
Coinkite adviseerde gebruikers om hun apparaat bij te werken, een nieuwe seed aan te maken, de back-up en de wallet-vingerafdruk te verifiëren, het ontvangstadres te bevestigen, een kleine testtransactie te versturen en vervolgens het resterende saldo over te zetten. Gebruikers moeten de oude back-up bewaren totdat de overdracht is bevestigd, maar mogen de oude seed niet langer als veilig beschouwen.
Het bedrijf heeft de volgende gerepareerde versies geïdentificeerd: Mk3 versie 4.2.0 of hoger, Mk4 en Mk5 versie 5.6.0 of hoger, en Q versie 1.5.0Q of hoger, samen met de bijbehorende Edge-versies. Producten van Tapsigner, Opendime en Satscard maken gebruik van andere code en zouden naar verluidt niet zijn getroffen.
Extra beveiliging beschermde sommige Coldcard-bezitters
Gebruikers die bij het genereren van een seed voldoende onafhankelijke worpen met een dobbelsteen hadden toegevoegd, waren in aanzienlijke mate beschermd omdat hun eigen willekeurigheid de gebrekkige software-input overtrof. Coinkite verklaarde dat ten minste 50 privé-worpen met een eerlijke dobbelsteen voldoende bescherming boden tegen dit probleem, hoewel extra worpen een grotere veiligheidsmarge kunnen bieden.
Een sterke BIP-39-wachtzin creëert ook een aparte wallet die niet kan worden gereconstrueerd op basis van de seed-woorden alleen. Multi-signature-wallets, waarvoor sleutels van meerdere apparaten of locaties nodig zijn voordat bitcoin kan worden overgedragen, waren grotendeels of volledig beschermd wanneer de kwetsbare Coldcard-seed slechts één onderdeel van de ondertekeningsprocedure vormde.
Die veiligheidsmaatregelen waren echter optioneel. Veel slachtoffers lijken het standaard beveiligingsadvies te hebben opgevolgd dat destijds beschikbaar was: koop een gerenommeerde hardware-wallet, genereer de seed offline, beveilig de back-up en voer deze nooit in op een apparaat dat met het internet is verbonden.
Coinkite neemt de schuld op zich terwijl het debat zich richt op AI
Rodolfo Novak, CEO van Coinkite en algemeen bekend als NVK, bood op 31 juli publiekelijk zijn excuses aan en zei dat het bedrijf de volledige verantwoordelijkheid voor de firmwarefout op zich nam. „Het spijt me en ik ben er kapot van. Ons team is diep bedroefd over het nieuws van gisteren”, schreef Novak. Hij erkende dat de hotfix nieuw aangemaakte seeds beveiligt, maar geen seeds kan herstellen die met kwetsbare software zijn gegenereerd.

Novak legde uit dat Coinkite een volledig technisch verslag zou publiceren na verificatie van de details en dat het bedrijf getroffen gebruikers zou bijstaan bij het indienen van aangiften bij de politie, verzekeringsclaims of onafhankelijke onderzoeken. Hij waarschuwde ontwikkelaars ook dat kunstmatige intelligentie (AI)-tools nu oude openbare code sneller kunnen scannen op verborgen zwakke plekken dan traditionele beoordelingsprocessen deze kunnen opsporen.
Coinkite benadrukte dat het ervan uit moet gaan dat een aanvaller AI heeft gebruikt om de open-sourcefirmware te inspecteren, hoewel er geen bewijs is dat aantoont hoe het beveiligingslek is ontdekt. Het bedrijf erkende ook dat een recente beoordeling met een toonaangevend AI-model het probleem niet heeft opgespoord. Verschillende concurrerende fabrikanten van hardware-wallets hebben via sociale media laten weten dat hun producten niet zijn getroffen.
"Ledger wordt niet getroffen door het onlangs gepubliceerde Coldcard Mk3-advies", liet het bedrijf na het Coldcard-incident aan X-gebruikers weten. "Ledger-apparaten maken gebruik van een gecertificeerde True Random Number Generator (TRNG) die rechtstreeks in onze Secure Element-chip is ingebouwd en die volledige 256-bits entropie genereert voor elke geheime herstelzin van 24 woorden."
"Trezor-gebruikers: jullie tegoeden zijn veilig", verklaarde de hardware-walletfabrikant Trezor vrijdag. "Het recente Coldcard-probleem beperkt zich tot hun eigen aangepaste firmware en de manier waarop sommige van hun apparaten willekeurigheid genereerden. Trezor deelt die code niet."
Het Trezor X-account voegde hieraan toe:
"We hebben altijd meerdere onafhankelijke bronnen van willekeurigheid met elkaar gecombineerd (apparaathardware + host + beveiligingselementen op nieuwere modellen). Het spijt ons oprecht voor iedereen die bitcoin is kwijtgeraakt."
Waar Coldcard-gebruikers nu op moeten letten
De identiteit van de aanvaller blijft onbekend en de gestolen bitcoin kan op elk moment worden verplaatst vanuit de verzameladressen. Onderzoekers zijn nog bezig om vast te stellen hoeveel kwetsbare seeds er daadwerkelijk zijn gegenereerd, hoeveel bitcoin nog steeds blootgesteld is en of de aanvaller al andere wallets met hoge waarden heeft geïdentificeerd. Coinkite beschikt echter mogelijk niet over veel informatie over eigenaren van lang geleden.
"Een grappig tweesnijdend zwaard: Coinkite verwijdert al zijn klantgegevens na 120 dagen om zich te beschermen tegen datalekken," meldde Jameson Lopp, medeoprichter van Casa, op X. "Dat betekent dat ze geen contact kunnen opnemen met klanten die de afgelopen vijf jaar kwetsbare coldcards hebben gekocht om hen te waarschuwen voor deze kwetsbaarheid."

Het incident zal ook uitwijzen of Coinkite het vertrouwen in Coldcard kan herstellen en of fabrikanten van hardware-wallets strengere onafhankelijke controles op het genereren van seed-zinnen gaan invoeren. Voor gebruikers is de onmiddellijke prioriteit eenvoudiger: iedereen die een seed heeft aangemaakt op de getroffen firmware zonder sterke onafhankelijke entropie van de willekeurige getallen, een wachtzin of bescherming door middel van multisignature, moet deze als gecompromitteerd beschouwen en zijn geld zorgvuldig overzetten naar een nieuw gegenereerde wallet.
Afgezien van de verwoestende diefstal luiden bitcoiners in de hele gemeenschap de alarmklok en sporen ze anderen aan om het nieuws te verspreiden voordat nog meer kwetsbare wallets worden leeggehaald.
Dit artikel is met behulp van AI uit het Engels vertaald. De originele Engelstalige versie is de gezaghebbende bron; geautomatiseerde vertalingen kunnen onnauwkeurigheden bevatten, met name in juridische en regelgevende terminologie.
















