Faille RNG COLDCARD : 88 millions de dollars de Bitcoin dérobés, que s’est-il passé ?
Hippolyte Valdegré
En août 2026, une faille RNG (Random Number Generator) dans les wallets COLDCARD a conduit au vol spectaculaire de 88,6 millions de dollars en Bitcoin. Cette vulnérabilité zero-day, liée à une erreur d’intégration logicielle, a permis à des attaquants de régénérer des seed phrases et de vider plus de 4 500 portefeuilles. Comment une simple ligne de code a-t-elle pu compromettre la sécurité de milliers d’utilisateurs ? Plongeons dans les détails techniques de cette attaque sans précédent, ses implications pour les détenteurs français de cryptomonnaies, et les mesures à prendre immédiatement pour sécuriser vos actifs.
Les dessous du vol massif de Bitcoin
Une attaque en trois vagues ciblant des wallets spécifiques
Le 30 juillet 2026, Galaxy Research a identifié une première vague de transactions suspectes. En seulement 41 minutes, environ 1 083 BTC (70,2 millions de dollars) ont été dérobés depuis 1 196 adresses. Chainalysis a révélé que l’attaquant avait priorisé les wallets les plus riches, siphonnant 30 millions de dollars dans les dix premières minutes, et jusqu’à 1,8 million de dollars pour une seule victime. Une seconde et une troisième vague ont porté le total à 1 367 BTC, soit 88,6 millions de dollars, touchant 4 585 adresses au total. La découverte de l’attaque s’est faite en plusieurs étapes. En parallèle des transactions suspectes, les équipes de Block, qui travaillaient sur l’analyse du firmware COLDCARD, ont identifié la faille RNG. Coinkite a été prévenu le 30 juillet et a publié un correctif le 1er août. Malheureusement, l’attaque avait déjà eu lieu.
Des signatures de transaction qui ne trompent pas
Ce qui a mis la puce à l’oreille des chercheurs, c’est le comportement anormal des transactions de pillage. Chaque transaction utilisait des frais identiques de 30 satoshis par vbyte, soit 30 à 75 fois plus que la médiane de la semaine (0,4-1,0 sat/vB). De plus, aucune monnaie n’était rendue.
« Cela ressemble à un outil automatisé qui dépense des clés qu’il détenait déjà, et non à des propriétaires déplaçant leurs fonds. » - Galaxy Research
Ce pattern distinctif a permis de relier les vagues entre elles et de confirmer la nature automatisée et préparée de l’attaque. L’attaquant avait probablement identifié les adresses vulnérables bien avant de passer à l’action.
La racine du mal : l’erreur d’intégration du RNG
Yasmarang : un générateur déterministe à la place du hardware RNG
Les équipes de Block (ex-Square) ont collaboré avec d’autres chercheurs pour analyser le firmware de COLDCARD. Leur conclusion est sans appel : le firmware contient une erreur d’intégration du générateur de nombres aléatoires (RNG). Au lieu d’utiliser le RNG matériel du microcontrôleur STM32, une vérification incorrecte dans le code a fait basculer le système vers Yasmarang, un générateur logiciel déterministe intégré à MicroPython.
« COLDCARD firmware contains an RNG integration error that causes ngu.random to use MicroPython’s deterministic Yasmarang fallback instead of the STM32 hardware RNG. » - Block Security Team
Pourquoi cette substitution est catastrophique
Yasmarang n’utilise pas l’entropie physique du matériel. Il se base sur des valeurs prévisibles et observables, comme l’identifiant du microcontrôleur et des timings système. Un attaquant capable de reconstituer ces valeurs peut générer les mêmes seeds que le wallet, retrouver les adresses Bitcoin associées sur la blockchain, et dériver les clés privées. C’est exactement ce qui s’est produit. L’attaque a pu être préparée en étudiant les adresses vulnérables avant le déclenchement du pillage.
Encadré technique : Le générateur Yasmarang est un PRNG (Pseudo Random Number Generator) déterministe. Contrairement au TRNG (True Random Number Generator) matériel du STM32 qui exploite l’entropie physique du silicium, Yasmarang utilise des valeurs d’amorçage prévisibles. Un attaquant capable de reconstituer ces valeurs peut régénérer l’intégralité de la seed. Le microcontrôleur STM32 intègre un TRNG certifié, mais l’erreur de code a rendu cette fonctionnalité inopérante.
Quels sont les wallets COLDCARD concernés ?
Coinkite, le fabricant de COLDCARD, a publié une liste détaillée des versions impactées. Il est impératif de vérifier immédiatement la version de votre firmware.
| Modèle | Versions impactées | Version corrective |
|---|---|---|
| Mk2 / Mk3 | 4.0.1 à 4.1.9 | 4.2.0+ |
| Mk4 / Mk5 (Standard) | Avant 5.6.0 | 5.6.0+ |
| Mk4 / Mk5 (Edge) | Avant 6.6.0X | 6.6.0X+ |
| Q (Standard) | Avant 1.5.0Q | 1.5.0Q+ |
| Q (Edge) | Avant 6.6.0QX | 6.6.0QX+ |
Note importante : Les produits TAPSIGNER, OPENDIME et SATSCARD de Coinkite ne sont pas concernés car ils utilisent des bases de code différentes. Coinkite a également détruit tous les appareils en attente d’expédition dotés du firmware défectueux. Les clients dont les appareils avaient déjà été expédiés ont été contactés par email avec un avis de sécurité et des instructions pour migrer leurs fonds.
Comment savoir si vous êtes victime et comment migrer
Les limites de la mise à jour du firmware
Mettre à jour le firmware ne suffit pas. Une seed générée avec une version vulnérable reste compromise, même après la mise à jour. La faille est dans la génération de l’aléatoire, pas dans la gestion des clés après coup. Coinkite précise que les seeds complétées par au moins 50 lancers de dés équitables, indépendants et privés ne sont pas considérées comme à risque par cette seule faille. De même, l’utilisation d’une passphrase BIP-39 forte rend l’exploitation plus difficile, mais ne répare pas la seed sous-jacente.
Procédure de migration sécurisée
Voici les étapes recommandées par Coinkite et les experts en sécurité pour sécuriser vos fonds :
- Vérifier la version du firmware sur votre COLDCARD. Allez dans Paramètres > Version.
- Mettre à jour le firmware vers la dernière version corrective disponible sur le site officiel de Coinkite.
- Générer une nouvelle seed phrase après la mise à jour. Assurez-vous que l’appareil vous confirme que le RNG matériel est utilisé.
- Envoyer une transaction test de faible montant vers le nouveau wallet pour valider le processus.
- Transférer le reste des fonds une fois le test réussi, en utilisant des frais de transaction normaux pour ne pas attirer l’attention.
- Conserver l’ancien backup jusqu’à confirmation complète de la migration sur la blockchain.
- Détruire physiquement l’ancien backup de manière sécurisée (déchiqueteuse, feu, ou destruction par un professionnel).
Questions essentielles à se poser :
- Avez-vous généré votre seed entre les versions impactées ?
- Avez-vous partagé votre adresse de réception publique ? (Cela a permis aux attaquants de vous cibler).
- Avez-vous utilisé une passphrase BIP-39 ? (Elle offre une couche de protection supplémentaire).
- Avez-vous ajouté de l’entropie externe (dés) ? (Cela rend la seed beaucoup plus sûre face à cette faille).
Leçons pour l’écosystème crypto : au-delà de COLDCARD
L’importance de l’audit du code RNG
Cette affaire met en lumière un angle mort des audits de sécurité : le générateur d’aléatoire. Si les protocoles cryptographiques sont souvent bien vérifiés, l’implémentation du RNG peut cacher des failles critiques. « Dans la pratique, un tel défaut est difficile à détecter sans une analyse approfondie du firmware au niveau machine », confie un expert en sécurité hardware. Les utilisateurs doivent exiger des fabricants une transparence totale sur leurs processus de génération d’aléatoire et la certification de leurs composants (comme les normes ANSSI ou FIPS 140-3). En France, l’ANSSI publie régulièrement des guides sur le chiffrement et la génération d’aléatoire, qui pourraient servir de base à une certification obligatoire des hardware wallets.
Bonnes pratiques pour sécuriser ses seeds
Cet incident rappelle des règles fondamentales de la sécurité des cryptomonnaies. Ne jamais faire confiance aveuglément à un hardware wallet. Ajouter une couche de sécurité avec une passphrase BIP-39 (13e ou 25e mot). Utiliser des sources d’entropie externes (dés, pièces) pour les seeds à très haute valeur. Enfin, diversifier ses wallets : ne pas mettre tous ses œufs dans le même panier, ni même dans le même modèle de panier.
Comparatif des méthodes de sécurisation des seeds :
| Méthode | Niveau de sécurité | Facilité d’utilisation |
|---|---|---|
| Seed standard (12/24 mots) | Élevé (si RNG correct) | Très facile |
| Seed + Passphrase BIP-39 | Très élevé | Facile |
| Seed + Entropie externe (dés) | Extrêmement élevé | Modéré |
| Seed + Multisig | Extrêmement élevé | Complexe |
Cas concret : Prenons l’exemple de Julien, un investisseur français basé à Lyon. En 2024, il a acheté un COLDCARD Mk4 pour sécuriser ses 15 BTC. Il a généré sa seed avec la version 5.4.0 du firmware, une version impactée. Julien n’a jamais utilisé de passphrase, pensant que son hardware wallet était inviolable. Le 30 juillet 2026, ses 15 BTC, d’une valeur de près d’un million d’euros, ont été volés en quelques minutes. Julien n’a reçu l’alerte de Coinkite que le lendemain, lorsque ses fonds étaient déjà partis. Ce cas, malheureusement fictif mais représentatif, montre la vulnérabilité des utilisateurs qui se reposent entièrement sur leur wallet sans comprendre les risques sous-jacents. La leçon pour Julien, et pour nous tous, est que la sécurité est un processus, pas un produit.
Conclusion : Agissez sans attendre
La faille RNG COLDCARD restera comme un tournant dans l’histoire de la sécurité des hardware wallets. Elle démontre que même les dispositifs les plus réputés peuvent être vulnérables à des erreurs d’implémentation subtiles. Si vous possédez un COLDCARD, ne tardez pas : vérifiez votre firmware et migrez vos fonds. La sécurité de vos Bitcoin en dépend. Et pour l’avenir, retenez que la vigilance et la redondance sont vos meilleures alliées face à des menaces toujours plus sophistiquées. La leçon est claire : dans l’univers des cryptomonnaies, la confiance ne suffit pas ; la vérification constante est la clé de la sécurité.
Sources : Galaxy Research, Chainalysis, Block Security Team, Coinkite Advisory, BleepingComputer.