Faille RNG du wallet COLDCARD : 88 millions de dollars de Bitcoin volés en 2026
Isidore Bellemare
En juillet 2026, un incident de sécurité majeur a ébranlé la communauté des utilisateurs de cryptomonnaies. Pas moins de 88,6 millions de dollars en Bitcoin ont été dérobés sur des milliers de portefeuilles matériels COLDCARD. L’origine de ce vol massif ? Une faille RNG du wallet COLDCARD qui a permis à des attaquants de reconstituer les clés privées de leurs victimes. Comprendre cette vulnérabilité, son exploitation et les mesures concrètes que tout détenteur de Bitcoin doit prendre est essentiel pour la sécurité de votre patrimoine numérique. Que vous soyez un investisseur chevronné ou un utilisateur novice, l’analyse détaillée qui suit vous fournira les clés pour protéger vos actifs.
Comprendre la faille RNG du wallet COLDCARD
Qu’est-ce qu’un RNG et pourquoi est-il critique pour votre seed ?
La sécurité d’un wallet Bitcoin repose entièrement sur le caractère imprévisible de sa seed phrase (phrase de récupération). Cette seed est générée par un générateur de nombres aléatoires (RNG). Si ce RNG est défaillant, la seed est potentiellement prévisible. Dans le cas de la faille RNG du wallet COLDCARD, le problème est venu d’une erreur d’intégration logicielle. Le firmware utilisait par défaut un générateur de nombres pseudo-aléatoires déterministe (Yasmarang) au lieu du générateur matériel dédié (HWRNG) de la puce STM32.
Le Random Number Generator (RNG) est le cœur battant de la sécurité d’un wallet Bitcoin. Pour générer une seed phrase (généralement 12 ou 24 mots selon le standard BIP-39), le wallet a besoin d’une source d’entropie parfaitement imprévisible. Dans un hardware wallet comme le COLDCARD, cette entropie est normalement fournie par un circuit dédié (le HWRNG de la puce STM32). Cependant, une erreur d’intégration dans le firmware a provoqué un basculement vers Yasmarang, un générateur pseudo-aléatoire purement logiciel et déterministe.
Le générateur Yasmarang est un générateur de nombres pseudo-aléatoires (PRNG) conçu pour la vitesse et la légèreté, pas pour la sécurité cryptographique. Contrairement à un RNG matériel dédié (TRNG) qui puise l’entropie de phénomènes physiques quantiques (comme le bruit thermique d’une diode), un PRNG est purement algorithmique. Si l’état initial (la seed du PRNG) est connu ou peut être deviné, toute la séquence de nombres qu’il produit peut être reproduite à l’infini. Dans le cas du COLDCARD, cette seed interne du PRNG était dérivée de l’ID du microcontrôleur et de timings système, des valeurs bien trop prévisibles. C’est cette faiblesse fondamentale qui a été exploitée.
L’erreur d’intégration détaillée : Yasmarang au lieu du HWRNG
Selon le rapport de Block, l’équipe de développement de Bitcoin, l’erreur est subtile mais catastrophique. Le code vérifiait incorrectement la disponibilité du RNG matériel, ce qui le faisait basculer vers le générateur logiciel Yasmarang. Ce dernier n’utilise que des sources d’entropie faibles, comme l’identifiant du microcontrôleur et des valeurs de temporisation système. Ces données sont potentiellement observables ou reconstructibles par un attaquant.
“COLDCARD firmware contains an RNG integration error that causes ngu.random to use MicroPython’s deterministic Yasmarang fallback instead of the STM32 hardware RNG.” - Rapport de Block
Cette faille a permis aux attaquants de générer des seeds hors ligne, de calculer les adresses Bitcoin correspondantes, et de les comparer avec les adresses présentes sur la blockchain. Une correspondance signifiait que la seed était compromise. Le caractère déterministe de Yasmarang signifie que, si un attaquant peut déterminer l’état initial du générateur (basé sur des valeurs observables comme l’identifiant du microcontrôleur et des timings), il peut reproduire exactement la séquence de nombres aléatoires générée. En pratique, cela permet de regénérer la seed phrase de n’importe quel wallet ayant utilisé ce RNG défaillant.
Chronologie et impact du vol de 88 millions de dollars en Bitcoin
Les vagues de transactions suspectes identifiées par Galaxy Research
La société d’analyse Galaxy Research a été la première à tirer la sonnette d’alarme. Le 30 juillet 2026, une première vague de transactions a drainé environ 1 083 BTC (soit 70,2 millions de dollars) depuis 1 196 adresses en seulement 41 minutes. Une deuxième et une troisième vagues ont été identifiées le 1er août, portant le total estimé à 1 367 BTC, soit environ 88,6 millions de dollars, dérobés sur 4 585 adresses.
L’attaque ne s’est pas produite au hasard. L’analyse de Chainalysis montre une sophistication certaine. L’attaquant a probablement surveillé la blockchain, identifié les adresses générées par des seeds faibles, et attendu le moment propice pour frapper. Le choix de frapper un samedi (le 30 juillet) et de payer des frais de transaction 30 à 75 fois supérieurs à la moyenne montre une volonté de maximiser la vitesse au détriment de la discrétion.
La première vague a duré exactement 41 minutes. Ce n’est pas une coïncidence. Cela suggère que l’attaquant avait préparé un script qui a balayé une liste pré-calculée d’adresses vulnérables. Le fait que les transactions aient utilisé des frais fixes de 30 sat/vB (bien au-dessus du marché) indique une volonté de s’assurer que les transactions soient confirmées rapidement, avant que les victimes ou les enquêteurs ne puissent réagir. La deuxième et la troisième vagues, identifiées le 1er août, ont élargi le filet, passant de 1 196 à 4 585 adresses. Cela montre que l’attaquant avait peut-être plusieurs listes ou qu’il a continué à générer des adresses candidates pendant l’attaque.
Le modus operandi des attaquants : un outil automatisé et chirurgical
Galaxy Research a noté un détail troublant qui distingue cette attaque d’un simple mouvement de fonds par un utilisateur légitime :
“Signature: every sweep paid an identical hardcoded 30.0 sat/vB - a 30-75x overpay vs the 0.4-1.0 sat/vB median that week - and left no change output. That looks like an automated tool spending keys it already held, not owners moving funds.” - Galaxy Research
Ce comportement indique l’utilisation d’un outil automatisé par l’attaquant, qui dépensait des clés déjà en sa possession. De son côté, Chainalysis a révélé que l’attaquant a priorisé les wallets à forte valeur, dérobant environ 30 millions de dollars dans les dix premières minutes et jusqu’à 1,8 million de dollars à une seule victime. Cela suggère une préparation minutieuse et une étude préalable des adresses vulnérables. Les transactions pour les actifs COLDCARD volés montrent une courbe d’accumulation rapide, typique d’un sweep automatisé.
Quels sont les wallets COLDCARD concernés par la faille RNG ?
Versions de firmware vulnérables
Coinkite, le fabricant de COLDCARD, a publié un avis de sécurité détaillant les versions affectées. Il est crucial de vérifier la version de votre firmware immédiatement. Voici un tableau récapitulatif des versions concernées et des correctifs disponibles :
| Modèle COLDCARD | Versions Vulnérables | Versions Corrigées |
|---|---|---|
| Mk2 / Mk3 | Firmware 4.0.1 à 4.1.9 | 4.2.0 ou ultérieure |
| Mk4 / Mk5 (Standard) | Avant version 5.6.0 | 5.6.0 ou ultérieure |
| Mk4 / Mk5 (Edge) | Avant version 6.6.0X | 6.6.0X ou ultérieure |
| Q (Standard) | Avant version 1.5.0Q | 1.5.0Q ou ultérieure |
| Q (Edge) | Avant version 6.6.0QX | 6.6.0QX ou ultérieure |
Produits non affectés et exceptions importantes
Les produits TAPSIGNER, OPENDIME et SATSCARD ne sont pas concernés car ils utilisent des bases de code différentes. Coinkite précise également que les seeds générées avec au moins 50 lancers de dés indépendants et privés ne sont pas considérées comme à risque par cette seule faille. L’utilisation d’une passphrase BIP-39 forte et unique rend également l’exploitation plus difficile, mais elle ne répare pas la seed sous-jacente. La migration reste impérative, même avec une passphrase.
Implications pour le marché français
En France, où l’adoption des cryptomonnaies est en forte croissance, cet incident a un impact particulier. Les utilisateurs français, souvent conseillés par des communautés en ligne et des influenceurs, ont largement adopté les hardware wallets pour sécuriser leurs actifs. La faille RNG du wallet COLDCARD soulève des questions sur la conformité de ces dispositifs avec les exigences de l’ANSSI en matière de génération de clés cryptographiques. Bien que le wallet soit un outil individuel, la confiance dans l’écosystème est primordiale. Les plateformes d’échange françaises (PSAN) pourraient également renforcer leurs exigences de vérification des adresses de dépôt pour prévenir le blanchiment d’actifs volés.
Mise en œuvre : Comment migrer ses fonds après la faille RNG du wallet COLDCARD ?
Les étapes essentielles de la migration
Si vous possédez un COLDCARD potentiellement affecté, la mise à jour du firmware seule ne suffit pas. Elle corrige le RNG pour les futures seeds, mais ne sécurise pas la seed actuelle, qui est déjà compromise. Voici la procédure recommandée par Coinkite et les experts en sécurité :
“Affected users should verify their existing backup, install the fixed firmware, generate and securely record a new seed, verify the new wallet address on the device, send a small test transaction, and then move the remaining funds.” - Avis de sécurité Coinkite
Procédure de migration étape par étape :
- Vérifiez votre sauvegarde existante : Assurez-vous que votre seed actuelle est correctement notée et stockée. Vous en aurez besoin pour accéder à vos fonds.
- Installez le firmware corrigé : Mettez à jour votre COLDCARD vers la version sécurisée indiquée dans le tableau ci-dessus.
- Générez une nouvelle seed phrase : Après la mise à jour, utilisez l’option de réinitialisation pour créer une nouvelle seed. Le RNG matériel sera désormais utilisé.
- Sécurisez la nouvelle seed : Notez-la physiquement sur un support résistant au feu et à l’eau (acier inoxydable recommandé). Considérez l’ajout d’une passphrase BIP-39.
- Vérifiez la nouvelle adresse : Avant d’envoyer des fonds, vérifiez que l’adresse de réception affichée par le wallet correspond à celle générée par votre seed.
- Effectuez une transaction test : Envoyez une petite quantité de Bitcoin (quelques milliers de sats) vers votre nouvelle adresse pour valider le processus.
- Transférez le reste des fonds : Une fois le test réussi, transférez l’intégralité de votre solde depuis l’ancienne seed compromise.
- Détruisez l’ancienne sauvegarde : Une fois la migration confirmée et les fonds sécurisés sur la nouvelle seed, détruisez physiquement l’ancienne sauvegarde.
⚠️ ALERTE SÉCURITÉ : NE PAS NÉGLIGER Mettre à jour le firmware sans migrer les fonds vous laisse vulnérable. L’attaquant a déjà prouvé sa capacité à exploiter cette faille. Chaque jour qui passe augmente le risque que votre seed soit reconstituée et vos fonds volés.
Pourquoi la mise à jour du firmware ne suffit pas
Il est impératif de comprendre que la mise à jour du firmware ne répare pas une seed générée précédemment. La seed compromise a été créée avec un RNG déterministe. Même si le wallet utilise désormais un bon RNG, la seed stockée dans la mémoire (ou sur votre carte SD) est toujours basée sur l’ancienne entropie faible. L’attaquant peut toujours la reconstituer. La migration vers une nouvelle seed est le seul moyen de briser ce lien.
Le correctif publié par Coinkite modifie la logique de détection du RNG matériel. Désormais, le firmware vérifie correctement la présence et le bon fonctionnement du HWRNG avant de générer une seed. Si le HWRNG est défaillant, le wallet affiche une erreur et refuse de générer une seed, plutôt que de basculer silencieusement vers un générateur logiciel non sécurisé. C’est un exemple de fail-secure plutôt que fail-open.
Tableau comparatif des méthodes de génération de seed
| Méthode | Sécurité | Facilité d’utilisation |
|---|---|---|
| RNG matériel du wallet (corrigé) | Très élevée (si implémenté correctement) | Très facile |
| RNG logiciel (Yasmarang - faille) | Faible (déterministe) | Très facile |
| RNG matériel + Dice Rolls (50+) | Maximale (entropie utilisateur ajoutée) | Modérée |
| RNG matériel + Passphrase BIP-39 | Très élevée (dépend de la force de la passphrase) | Modérée |
Conclusion : Quelles leçons tirer de la faille RNG du wallet COLDCARD ?
La faille RNG du wallet COLDCARD est un événement sismique pour le monde de la sécurité des cryptomonnaies. Elle démontre qu’aucun matériel, même réputé, n’est à l’abri d’une erreur logicielle aux conséquences désastreuses. Cette affaire souligne l’importance de la transparence des fabricants, de la réactivité des équipes de sécurité (comme Block et Galaxy Research) et de la diligence des utilisateurs.
L’une des leçons les plus importantes de cette affaire est la nécessité de la redondance des sources d’entropie. Ne jamais faire confiance à une seule source de hasard, surtout si elle est logicielle. La combinaison d’un RNG matériel, de lancers de dés et d’une passphrase forte constitue une défense en profondeur qui aurait protégé les utilisateurs contre cette faille spécifique. C’est le principe de défense en profondeur appliqué à la sécurité des cryptomonnaies.
En 2026, la leçon est claire : la sécurité d’un wallet ne se résume pas à posséder un boîtier cold storage. Elle implique une compréhension des principes fondamentaux (RNG, seed, passphrase), une veille constante sur les avis de sécurité, et une capacité à exécuter des migrations de fonds de manière rigoureuse.
Pour les détenteurs de Bitcoin en France, cet incident rappelle l’importance de suivre les recommandations des autorités comme l’ANSSI en matière de génération de clés cryptographiques. Bien que le wallet soit un outil individuel, la faille RNG du wallet COLDCARD a des implications systémiques sur la confiance dans les hardware wallets. Ne laissez pas votre patrimoine numérique à la merci d’un générateur de nombres aléatoires défaillant. Agissez dès maintenant si vous êtes concerné : vérifiez votre version de firmware, et si nécessaire, migrez vos fonds vers une seed générée de manière sécurisée. La sécurité de vos actifs numériques commence par une seed véritablement aléatoire.