NachrichtenKryptoColdcard-Bitcoin-Exploit erklärt: Wie ein Firmware-Bug die Schlüsselentropie verringerte und $130 Millionen an Diebstahl ermöglichte

Coldcard-Bitcoin-Exploit erklärt: Wie ein Firmware-Bug die Schlüsselentropie verringerte und $130 Millionen an Diebstahl ermöglichte

Autor: Decrypt·

Wichtige Erkenntnisse

  • Ein Build-Konfigurationsfehler führte dazu, dass Coldcard-Wallets einen softwarebasierten Pseudozufallszahlengenerator statt des vorgesehenen Hardware-Zufallschips nutzten und die Entropie auf Mk2- und Mk3-Geräten von 128 Bit auf ungefähr 40 Bit senkten.
  • Galaxy Research hat den Diebstahl von mindestens 1,596 BTC über drei Angriffswellen bestätigt; eine vermutete vierte Welle könnte die Gesamtschäden auf etwa 2,055 BTC oder rund $130 million erhöhen.
  • Die Schwachstelle blieb trotz des öffentlich zugänglichen Open-Source-Codes von Coldcard ungefähr acht Jahre lang unentdeckt.
  • Coinkite hat für alle betroffenen Modelle korrigierte Firmware veröffentlicht, der Patch kann bestehende Seeds jedoch nicht reparieren; Nutzer müssen neue Wallets erzeugen und alle Mittel manuell übertragen.
  • Coinkite vermutet, dass Angreifer die Schwachstelle mithilfe KI-gestützter Codeanalyse entdeckt haben, und weist darauf hin, dass die eigene jüngste KI-Prüfung desselben Codes das Problem nicht gefunden hat.
Coldcard-Bitcoin-Exploit erklärt: Wie ein Firmware-Bug die Schlüsselentropie verringerte und $130 Millionen an Diebstahl ermöglichte

Ein Firmware-Bug führte dazu, dass Coldcard-Hardware-Wallets Seeds aus einem softwarebasierten Pseudozufallszahlengenerator statt aus dem dafür vorgesehenen dedizierten Hardware-Zufallschip erzeugten. Der Fehler verringerte den Suchraum auf älteren Gerätemodellen effektiv von 128 Bit auf ungefähr 40 Bit und ermöglichte es Angreifern, private Schlüssel zu berechnen und Wallets zu leeren, die nie erreichbar sein sollten.

Die Coins befanden sich auf Coldcard-Geräten — Hardware-Wallets des kanadischen Unternehmens Coinkite, die dafür ausgelegt sind, offline zu bleiben. Coldcards werden in Bitcoin-Sicherheitskreisen seit Langem besonders wegen ihres Air-Gap-Designs und ihrer transparenten Architektur empfohlen, was den Fehler für Nutzer besonders schwerwiegend macht, die das Gerät gerade wegen seines Sicherheitsrufs gewählt hatten. Es waren weder Phishing-Links, Malware noch gestohlene Geräte beteiligt. Die Angreifer leiteten die privaten Schlüssel schlicht ab.

Galaxy Research hat mehr als 1,596 BTC als gestohlen nachverfolgt, verteilt auf drei bestätigte Wellen; eine vermutete vierte Welle würde die Gesamtsumme auf etwa 2,055 BTC erhöhen — rund $130 million zu aktuellen Preisen. Bei einem einzelnen Abzug wurden $70 million in 41 Minuten bewegt. Coinkite sagt, dass mindestens 15 verschiedene Angreifer beteiligt waren. Die große Mehrheit groß angelegter Kryptowährungsdiebstähle beruht auf Social Engineering, Börsenkompromittierungen oder Smart-Contract-Exploits; eine Schwachstelle, die es Angreifern erlaubt, Schlüssel allein aus Geräte-Metadaten zu berechnen, stellt eine grundlegend andere Angriffsfläche dar.

Das Unternehmen veröffentlichte am August 1 einen technischen Hintergrundbericht und erläuterte darin, was schiefgelaufen ist. Es handelt sich um ein ungewöhnlich offenes Dokument; die Kurzfassung lautet, dass die Wallet acht Jahre lang praktisch gezinkte Würfel verwendete, ohne dass es jemand bemerkte.

Null ist trotzdem etwas

Im Jahr 2021 migrierte Coinkite die Kryptografie von Coldcard auf libsecp256k1, dieselbe Bibliothek, die auch Bitcoin Core verwendet. Bei dieser Integration begann das Problem.

Durch die Migration wurde die Seed-Erzeugung unbemerkt vom eigenen Hardware-Zufallszahlengenerator der Coldcard auf den Software-Fallback von MicroPython umgeleitet — einen kleinen Algorithmus namens Yasmarang, der für Geräte gedacht ist, denen überhaupt ein Zufallschip fehlt.

🚨LOSSES FROM COLDCARD HACK EXCEED $100M

High confidence 1,596 BTC has been stolen from ~7300 addresses across 3 confirmed waves + more 14 smaller incidents.

If we add suspected (but unconfirmed), the total balloons to $130m (2k BTC).

More in the thread below 👇 pic.twitter.com/RAl3ib67qa

— Galaxy Research (@glxyresearch) August 3, 2026

Coldcard verfügt über einen Zufallschip. Er wurde nur nicht mehr abgefragt.

Der Grund ist kaum zu glauben, weil er so klein ist. Eine Build-Guard verwendete #ifndef, das prüft, ob eine Einstellung existiert, statt ob sie aktiviert ist. Coinkite hatte diese Einstellung mit Null definiert, also als „aus“. Da Null weiterhin als definiert zählt, bestand die Sicherheitsprüfung, und der Build wurde abgeschlossen. Beide Funktionsvarianten hatten identische Signaturen, sodass nichts auffällig wirkte. Fehler in der Build-Konfiguration dieser Art — bei denen eine Präprozessor-Anweisung stillschweigend den falschen Codepfad auswählt — sind in der C- und C++-Entwicklung eine bekannte Fehlerklasse, aber sie sind durch Tests nur schwer zu entdecken, weil sich das kompilierte Binary in jeder beobachtbaren Hinsicht normal verhält.

„The bulk of randomness on the COLDCARD was coming from a PRNG that I didn't know was actually in the source code base,“ schrieb Coinkite und bezog sich damit auf einen Pseudozufallszahlengenerator — Software, die Zahlen erzeugt, die zufällig aussehen, aber nach einer festen Formel aus einem Startwert entstehen. Gibt man der Formel denselben Startwert, ist die Ausgabe jedes Mal identisch.

Bei Mk2- und Mk3-Geräten mit Firmware 4.0.1 bis 4.1.9 wurde dieser Startwert aus der Seriennummer des Chips und seiner Uhr abgeleitet. Coinkite schätzt den daraus resultierenden Suchraum auf etwa 40 Bit. Neuere Modelle mischten etwas Entropie aus dem Secure Element bei und kamen damit auf ungefähr 72 Bit.

Keiner dieser Werte erreicht 128, das eigentliche Ziel.

Die Lücke ist größer, als sie zunächst wirkt. Bits sind Exponenten. Ein 128-Bit-Suchraum enthält mehr Kombinationen, als es Atome im beobachtbaren Universum gibt, wodurch ein Brute-Force-Angriff praktisch unmöglich wird. 40 Bit entsprechen ungefähr einer Billion Möglichkeiten — eine Zahl, die ein Standard-Laptop verarbeiten kann. Jedes verlorene Bit halbiert die erforderliche Arbeit des Angreifers.

Das Engineering-Team von Block, das eine eigene Analyse veröffentlichte, setzte den effektiven Secure-Element-Suchraum der neueren Geräte auf 2^32 Kandidaten an, im Mittel also rund 2^31 Versuche. Die Einschätzung für die älteren Platinen fällt noch direkter aus: Bei bekannter Geräte-ID, Timer-Zustand und Aufrufhistorie ist die Wallet-Erzeugung deterministisch. Und deterministisch ist das Gegenteil von zufällig — genau die Eigenschaft, die für Kryptografie essenziell ist.

Nicht „schwach“. Vorhersehbar.

Coinkite vermutet, dass die Schwachstelle durch automatisierte Codeanalyse entdeckt wurde. „We have to assume that someone used AI to review previous versions of our firmware and stumbled upon this issue“, schrieb das Unternehmen und fügte hinzu, man habe kürzlich eines der besten verfügbaren KI-Modelle über denselben Code laufen lassen und nichts gefunden. „Both attackers and defenders have the same AI tools, but today it did not help us, and only helped the bad guys."

Für jedes betroffene Modell gibt es korrigierte Firmware. Sie repariert bestehende Seeds nicht; diese Wallets müssen neu erzeugt und die Mittel verschoben werden. Decrypt hat berichtet, wie sich Air-Gap-Speicherung nach einem solchen Exploit verändert, und die Verluste verfolgt, die über $114 million stiegen.

Was Entropie eigentlich ist

Entropie misst, wie viel ein Angreifer nicht weiß — also Unsicherheit, gemessen in Bits. Ein Bit entspricht einem Münzwurf: zwei Ergebnisse, und ein Ratender liegt in der Hälfte der Fälle richtig. Zehn Bit entsprechen 1,024 Ergebnissen. Jedes zusätzliche Bit verdoppelt den Aufwand des Ratenden.

Eine Bitcoin-Wallet ist im Kern eine sehr große, geheim gehaltene Zahl. Die Adresse, an die Coins gesendet werden, wird mathematisch daraus abgeleitet, und diese Ableitung funktioniert nur in eine Richtung — vom Schlüssel zur Adresse, aber nie zurück.

Die Sicherheit jeder Wallet hängt daher an einer Frage: Wie viele Zahlen müsste ein Angreifer ausprobieren? Wurde die Zahl mit 128 Bit Entropie gewählt, lautet die Antwort „mehr, als die Physik zulässt“. Wurde sie mit 40 Bit gewählt, lautet die Antwort „gib mir etwas Zeit“.

Dieselbe Eigenschaft macht die Bedrohung durch Quantencomputing diskussionswürdig — eine Quantenmaschine würde die mathematische Verbindung zwischen Schlüssel und Adresse angreifen. Der Coldcard-Bug brauchte nichts so Sophistiziertes. Er machte die Schlüssel erratbar, bevor diese Mathematik überhaupt ins Spiel kam.

Die Begrifflichkeit wird hier schnell unscharf. Ein Pseudozufallszahlengenerator erzeugt Ausgabe, die statistische Tests auf Zufälligkeit besteht — nichts, was eine Tabellenkalkulation beanstanden würde. Diese Ausgabe ist dennoch vollständig durch ihren Seed-Wert bestimmt. Sie sieht zufällig aus, ist es aber nicht.

Statistische Zufälligkeit und kryptografische Unvorhersagbarkeit sind unterschiedliche Eigenschaften. Die Ausgabe von Coldcard hätte den ersten Test bestanden, den zweiten jedoch vollständig nicht.

Echte Zufälligkeit muss aus physikalischem Rauschen stammen: elektrischem Jitter in einem Schaltkreis, thermischen Schwankungen, radioaktivem Zerfall. Genau dafür war der Hardware-Chip in der Coldcard gedacht. Genau diesen Chip trennte die Build-Flag ab.

Dann brachte Luke Dashjr die Würfel ins Spiel

Während Nutzer hastig neue Seeds erzeugten, griffen viele zu der naheliegenden Low-Tech-Lösung. Coldcards erlauben es, physische Würfel zu werfen und die Ergebnisse als Entropie einzuspeisen. Coinkites eigene Anleitung behandelt Seeds, die mit mindestens 50 unabhängigen, privaten Würfen erzeugt wurden, als nicht von dem Bug betroffen. Das Unternehmen verkauft sogar einen Beutel mit „100 cute and tiny little dice“, um den Prozess zu erleichtern.

Am July 31 veröffentlichte Bitcoin-Core-Entwickler Luke Dashjr eine Warnung: „Quite a few people suggesting/using dice to mitigate the Coldcard vulnerability. Note that common dice are not designed to be cryptographically secure. If you are going to do this, you probably should buy precision casino dice. And even then, have another source of entropy."

Bitcoin Twitter nahm das nicht gelassen auf.

„lol now you can't even roll dice“, schrieb ein Nutzer. „Self custody is done for…" Ein anderer fragte, ob er jemanden mit Parkinson anheuern solle, um sie zu werfen.

should I hire someone with parkinsons to throw the dice? — Murern (@Bitcoin_Murern) July 31, 2026

Die wahrscheinlich technisch nützlichste Antwort kam mit Rechenbeispielen. Entwickler Justin Sharp rechnete aus, wie viel Entropie ein schlechter Würfel tatsächlich kostet: „Overkill. A perfect d6 gives 2.585 bits per roll. A noticeably biased die, e.g. with one face landing 20% of the time instead of 16.7%, still gives about 2.55 bits. Across 99 rolls that's the difference between ~256 bits and ~252 bits of entropy."

Vier Bit von 256. Das ist der gesamte Nachteil eines sichtbar unfairen Würfels.

Dashjr liegt nicht falsch damit, dass billige Würfel messbare Verzerrungen haben — beim Spritzguss werden die Vertiefungen auf jeder Seite unterschiedlich stark Material entziehen, weshalb Casinos bündig gefüllte Präzisionswürfel verwenden. Er hat mit der Physik recht, aber nicht mit den Einsätzen. Der Verlust von vier Bit aus 256 lässt 252 übrig. Der Coldcard-Bug ließ Nutzer bei 40 zurück.

In seinem Rat steckt jedoch ein schärferes Argument, und es geht nicht um Fertigungstoleranzen. Es geht darum, keiner einzelnen Entropiequelle zu vertrauen. Das Versagen von Coldcard bestand nicht darin, dass die Zufälligkeit leicht verzerrt war — sondern darin, dass eine Komponente stillschweigend aufhörte beizutragen und niemand es bemerkte.

Was man dagegen tun sollte

Wenn Sie auf einer betroffenen Coldcard einen Seed ohne Würfelwürfe oder eine starke BIP-39-Passphrase erzeugt haben, gilt dieser Seed als kompromittiert.

Die empfohlenen Schritte: Firmware aktualisieren, einen neuen Seed erzeugen, den Fingerabdruck prüfen, eine Testtransaktion senden und dann alle Mittel verschieben. Coinkites Hinweis erläutert das Verfahren Modell für Modell. Exportierte Seeds tragen den Fehler mit sich — einen kompromittierten Seed in eine andere Wallet-Anwendung zu importieren, löst nichts.

Für alle anderen ist die Lehre nicht, dass Hardware-Wallets kaputt sind oder Würfel eine Falle sind. Es geht darum, dass „zufällig“ eine Behauptung ist und Behauptungen überprüft werden müssen. Der Quellcode von Coldcard war die ganze Zeit öffentlich. Der vorgesehene Hardware-RNG war im Binary vorhanden. Prüfer bestätigten seine Existenz, aber nie, dass der Seed-Generator ihn tatsächlich aufrief. Das Open-Source-Modell, auf das Coldcard setzt, beruht genau darauf, dass Gemeinschaftsprüfungen solche Fehler finden, bevor Angreifer es tun. Acht Jahre Audits schauten auf den richtigen Code. Niemand prüfte, ob er tatsächlich lief.