Faille RNG du portefeuille COLDCARD : 88 millions de dollars de Bitcoin dérobés, êtes-vous concerné ?
Orphée Grandsable
En juillet 2026, l’une des plus grandes failles de sécurité de l’histoire du Bitcoin a été mise au jour et activement exploitée. Un défaut critique dans le générateur de nombres aléatoires (RNG) du portefeuille matériel COLDCARD a permis le vol d’environ 88,6 millions de dollars en Bitcoin (1 367 BTC), selon les rapports convergents de Galaxy Research et Chainalysis. Cette faille RNG du portefeuille COLDCARD a compromis les fonds de milliers d’utilisateurs, portant un coup sévère à la réputation d’un appareil pourtant considéré comme l’un des plus sécurisés du marché pour le stockage à froid.
L’incident est d’autant plus troublant qu’il ne s’agit pas d’une attaque physique complexe ou d’un cheval de Troie, mais d’une simple erreur d’intégration logicielle. Une ligne de code incorrecte a suffi pour que le générateur de nombres aléatoires (RNG) du firmware utilise un algorithme logiciel déterministe et prévisible, plutôt que le générateur matériel dédié du microcontrôleur. Pour les utilisateurs de Bitcoin, la leçon est cinglante : la promesse de sécurité absolue d’un hardware wallet ne tient qu’à la qualité de son implémentation logicielle. Dans cet article, nous détaillons les causes techniques de cette vulnérabilité, la chronologie des vols, les modèles concernés et, surtout, la procédure de migration indispensable pour sécuriser vos actifs.
Comprendre la faille RNG du COLDCARD : une erreur d’intégration fatale
Pour saisir l’ampleur de la catastrophe, il est essentiel de comprendre le mécanisme fondamental de sécurité d’un portefeuille Bitcoin : la génération de la seed (phrase mnémonique). Cette seed de 12 ou 24 mots est la racine déterministe de l’ensemble de vos clés privées. Si un attaquant peut la prédire ou la reconstituer, il a un accès total et irrévocable à vos bitcoins.
Le rôle crucial du générateur de nombres aléatoires matériel (HRNG)
Les portefeuilles matériels comme le COLDCARD sont conçus pour offrir un environnement d’exécution isolé et sécurisé. Un élément clé de cette sécurité est le générateur de nombres aléatoires matériel (Hardware Random Number Generator ou HRNG). Ce composant, intégré au microcontrôleur STM32, utilise des phénomènes physiques intrinsèquement imprévisibles, comme le bruit électronique thermique (Johnson-Nyquist noise) ou les fluctuations de tension, pour produire des séquences de bits véritablement aléatoires. Contrairement à un générateur logiciel, un HRNG ne peut pas être reproduit, même si l’on connaît l’état initial du système. C’est la pierre angulaire de la confiance dans le processus de création de la seed.
L’erreur de code : le fallback déterministe vers Yasmarang
La vulnérabilité, identifiée par les équipes de Block (anciennement Square) en collaboration avec d’autres chercheurs en sécurité, réside dans une erreur d’intégration au sein du firmware de COLDCARD.
“COLDCARD firmware contains an RNG integration error that causes ngu.random to use MicroPython’s deterministic Yasmarang fallback instead of the STM32 hardware RNG.”
En substance, le code censé vérifier la disponibilité du RNG matériel contenait une condition incorrecte. Au lieu de basculer sur le HRNG en cas d’échec, ou de l’utiliser par défaut, le firmware utilisait systématiquement le générateur logiciel Yasmarang de MicroPython. Ce générateur est dit “déterministe” : à partir d’un état initial donné (une “seed” logicielle), il produira toujours la même séquence de nombres. Le problème est que cet état initial était initialisé à partir de sources observables et prévisibles, principalement l’identifiant unique du microcontrôleur (MCUID) et des valeurs d’horodatage système (timestamps).
Comment l’attaque a été rendue possible
Un attaquant pouvait donc reconstituer l’état interne du générateur Yasmarang en suivant ces étapes :
- Rétro-ingénierie du code : L’attaquant analyse le firmware open source pour comprendre exactement comment l’état initial du RNG est construit.
- Génération offline de seeds potentielles : Il exécute le même code sur ses propres serveurs, en faisant varier les paramètres observables (MCUID des différents lots de COLDCARD, timestamps possibles). L’espace de recherche, bien que vaste, est suffisamment réduit pour être explorable avec une puissance de calcul moderne.
- Dérivation des adresses : Pour chaque seed potentielle, il utilise les standards BIP-32 et BIP-39 pour dériver les adresses Bitcoin correspondantes.
- Correspondance sur la blockchain : Il compare ces adresses avec les adresses actives et non dépensées visibles sur la blockchain publique.
- Exécution du vol : Dès qu’une correspondance est trouvée, il dispose de la seed complète et peut signer des transactions pour vider le portefeuille.
Ce n’est pas une vulnérabilité théorique. Les chercheurs ont confirmé que la faiblesse du Yasmarang et la prévisibilité des paramètres d’initialisation rendaient l’attaque non seulement possible, mais pratique à grande échelle, comme l’ont tragiquement démontré les événements de juillet 2026.
Le vol de 88 millions de dollars : chronologie et méthodes des attaquants
La concrétisation de cette menace théorique a été fulgurante et d’une efficacité redoutable. Les équipes d’analyse blockchain de Galaxy Research ont documenté l’attaque en quasi-temps réel, révélant une opération d’une sophistication certaine.
La première vague : un balayage automatisé et impitoyable
Le 30 juillet 2026, une première série de transactions suspectes a été détectée. En seulement 41 minutes, environ 1 083 BTC (soit 70,2 millions de dollars au cours du moment) ont été drainés depuis 1 196 adresses distinctes.
Plusieurs éléments techniques permettent d’affirmer qu’il s’agissait d’un outil automatisé, et non d’un déplacement de fonds par les propriétaires légitimes :
- Frais de transaction identiques : Chaque transaction utilisait un frais de minage rigoureusement identique de 30 satoshis par vbyte. C’est un montant 30 à 75 fois supérieur au tarif médian de la semaine (0,4 à 1,0 sat/vB). Un tel “surpaye” est caractéristique d’un script qui ne cherche pas à optimiser les frais, mais à maximiser la vitesse et l’automatisation.
- Absence totale d’adresse de change : Aucune transaction ne comportait d’adresse de change. Cela signifie que les portefeuilles ont été vidés intégralement en une seule opération. Un utilisateur légitime qui déplace ses fonds laisse généralement un “reste” sur une nouvelle adresse de son portefeuille.
“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.”
Les vagues suivantes et le ciblage des gros portefeuilles
Le 1er août 2026, Galaxy Research a identifié une deuxième et une troisième vagues de vols. Le bilan total est passé à 1 367 BTC, soit environ 88,6 millions de dollars, dérobés depuis 4 585 adresses.
L’analyse de Chainalysis a apporté un éclairage supplémentaire sur les méthodes de l’attaquant. Le pirate a priorisé les portefeuilles les plus riches. Environ 30 millions de dollars ont été volés dans les dix premières minutes de l’attaque, dont 1,8 million de dollars à une seule victime. Cela suggère que l’attaquant avait préalablement identifié et classé les adresses vulnérables, probablement en fonction de leur solde visible sur la blockchain, avant de lancer l’assaut.
Les bitcoins volés sont restés, au moment du rapport de Galaxy Research, dans les adresses contrôlées par l’attaquant, sans tentative de blanchiment via des mixeurs ou des échanges centralisés. Cette retenue laisse présager une opération très organisée, peut-être étatique ou menée par un groupe criminel hautement sophistiqué, attendant le moment propice pour liquider ses avoirs.
Quels modèles COLDCARD sont vulnérables à cette faille de sécurité ?
Tous les utilisateurs de COLDCARD ne sont pas égaux face à cette menace. Coinkite, le fabricant, a publié une liste exhaustive des firmwares concernés. Il est impératif de vérifier le vôtre immédiatement.
Modèles et firmwares vulnérables
| Modèle COLDCARD | Firmwares affectés | Firmware corrigé |
|---|---|---|
| Mk2 & Mk3 | Versions 4.0.1 à 4.1.9 | Version 4.2.0 ou ultérieure |
| Mk4 & Mk5 | Avant version standard 5.6.0 ou Edge 6.6.0X | Version 5.6.0+ (standard) / 6.6.0X+ (Edge) |
| Q | Avant version standard 1.5.0Q ou Edge 6.6.0QX | Version 1.5.0Q+ (standard) / 6.6.0QX+ (Edge) |
Comment vérifier votre version ?
- Allumez votre COLDCARD.
- Accédez au menu
Advanced > Firmware Version. - Comparez le numéro affiché avec le tableau ci-dessus. Si votre version est listée comme affectée, ou est antérieure à la version corrigée, vous êtes vulnérable.
Produits non affectés : Coinkite a confirmé que les gammes suivantes ne sont pas vulnérables, car elles utilisent des bases de code et des architectures matérielles différentes :
- TAPSIGNER
- OPENDIME
- SATSCARD
Cas particuliers des seeds renforcées : Coinkite précise que les seeds générées avec un apport d’entropie externe ne sont pas considérées comme à risque par cette seule faille. Cela inclut :
- Les seeds supplémentées d’au moins 50 lancers de dés (fair, independent, private dice rolls). L’ajout de cette entropie externe rend l’espace de recherche de l’attaquant exponentiellement plus grand, même si le RNG logiciel est faible.
- Les seeds protégées par une passphrase BIP-39 forte (mot de passe supplémentaire). La passphrase ajoute une couche de sécurité, mais elle ne modifie pas la seed faible elle-même.
Attention : Ces mesures ne réparent pas la faiblesse sous-jacente de la seed. La migration complète vers une nouvelle seed générée sur un firmware corrigé reste la seule solution garantissant une sécurité totale à long terme. Considérez ces mesures comme un pansement temporaire, pas une guérison.
Procédure de migration : comment sécuriser vos bitcoins après la faille RNG
Si votre firmware est dans la liste des versions affectées, vous devez agir immédiatement. Une simple mise à jour du firmware ne suffit pas. La seed que vous avez générée avec l’ancien firmware est définitivement compromise, car elle a été créée avec un RNG déterministe. Mettre à jour le firmware ne change pas la seed stockée sur l’appareil. Vous devez générer une nouvelle seed sur le firmware corrigé et y transférer vos fonds.
Voici le guide de migration étape par étape, recommandé par Coinkite et les experts en sécurité :
Vérifiez votre sauvegarde existante : Avant toute opération, assurez-vous que votre phrase mnémonique actuelle est correcte et accessible. Utilisez la fonction “Verify Seed” de votre COLDCARD. Sans sauvegarde, vous ne pourrez pas accéder à vos fonds après la réinitialisation.
Installez le firmware corrigé : Téléchargez la version la plus récente du firmware depuis le site officiel de Coinkite, correspondant à votre modèle. Vérifiez le hash du fichier pour vous assurer de son intégrité avant de l’installer via une carte microSD.
Générez une nouvelle seed sur le firmware corrigé : Effectuez une réinitialisation d’usine de votre COLDCARD via le menu
Settings > Danger Zone > Seed Functions > New Seed Words. Assurez-vous que la génération se fait bien sur le nouveau firmware. L’écran doit afficher l’animation de génération aléatoire caractéristique d’un HRNG fonctionnel.Enregistrez la nouvelle seed de manière sécurisée : Notez la nouvelle phrase de 12 ou 24 mots sur un support physique résistant (acier, titane, ou papier de haute qualité stocké dans un endroit sûr, idéalement une chambre forte). Ne la stockez jamais sur un appareil connecté à Internet, dans un cloud ou sur une photo.
Vérifiez la nouvelle adresse : Utilisez la fonction “Address Explorer” de votre COLDCARD pour vérifier qu’une adresse de réception affichée à l’écran correspond bien à la seed que vous venez de générer. Cela confirme que la seed est correctement enregistrée et dérivée.
Effectuez une transaction test : Envoyez une très petite quantité de Bitcoin (par exemple 0.0001 BTC) depuis votre ancien portefeuille (sur l’ancienne seed) vers la nouvelle adresse. Attendez plusieurs confirmations.
Transférez le reste des fonds : Une fois la transaction test confirmée avec succès, vous pouvez déplacer l’intégralité de vos actifs. Pour les sommes importantes, divisez le transfert en plusieurs transactions pour limiter les risques en cas d’erreur de saisie ou de problème réseau.
Conservez l’ancienne sauvegarde jusqu’à la fin : Ne détruisez pas votre ancienne seed tant que toutes les transactions ne sont pas confirmées et que vous n’avez pas vérifié le solde de votre nouveau portefeuille. Une fois la migration terminée et vérifiée, vous pouvez détruire l’ancienne sauvegarde de manière sécurisée (déchiquetage, combustion).
Important : Ne réutilisez jamais l’ancienne seed, même sur un autre appareil ou un logiciel. Elle est mathématiquement compromise. Considérez-la comme un mot de passe qui aurait fuité sur Internet.
Leçons de l’incident : l’importance de l’audit du code dans les hardware wallets
L’incident COLDCARD de 2026 est un séisme pour l’industrie de la sécurité des crypto-monnaies. Il met en lumière plusieurs vérités inconfortables que chaque détenteur de Bitcoin doit intégrer.
L’open source n’est pas une garantie absolue
COLDCARD est souvent loué pour son firmware open source, censé permettre une inspection par la communauté. Pourtant, cette faille, bien que subtile, est restée non détectée pendant des années. Il a fallu un vol massif pour que les regards se tournent vers le code RNG. Cela démontre que même les projets open source les plus réputés peuvent abriter des vulnérabilités critiques. L’audit de sécurité doit être continu et spécifique, pas seulement une revue de code générale. La communauté doit disposer d’outils et de processus pour auditer les parties les plus sensibles du code, comme la génération de seed.
La nécessité de vérifier son RNG
Les utilisateurs avancés ont désormais la responsabilité de vérifier que le RNG matériel de leur appareil est bien utilisé. COLDCARD propose un test de démarrage (le “duck test”) qui vérifie le bruit du RNG matériel. Peu d’utilisateurs le consultent ou savent l’interpréter. Cet incident devrait populariser l’utilisation de ces outils de diagnostic et pousser les fabricants à rendre ces vérifications plus accessibles et transparentes.
Diversification des risques
Cet événement relance le débat sur la gestion des risques. Conserver l’intégralité de son patrimoine en Bitcoin sur un seul type de portefeuille matériel, aussi sécurisé soit-il en apparence, est une stratégie risquée. Les meilleures pratiques incluent :
- La multi-signature : Nécessite plusieurs appareils ou clés pour autoriser une transaction. Même si un appareil est compromis, les fonds sont protégés.
- La diversification des fabricants : Utiliser un COLDCARD pour une partie de ses fonds et un autre appareil (Trezor, Ledger, ou un portefeuille logiciel sous air-gap) pour une autre partie.
- Les sauvegardes géographiques : Stocker ses seeds dans plusieurs lieux physiques distincts, protégés contre l’incendie, l’inondation et le vol.
Conclusion : agissez sans tarder pour sécuriser vos bitcoins
La faille RNG du portefeuille COLDCARD de 2026 restera une date charnière dans l’histoire du Bitcoin. Elle nous rappelle de la manière la plus brutale qui soit que la sécurité est un processus, pas un état. La confiance aveugle en un fabricant, même le plus réputé et le plus transparent, est dangereuse.
Les attaquants ont prouvé qu’ils étaient capables d’identifier et d’exploiter cette vulnérabilité à une échelle industrielle, vidant des milliers de portefeuilles en quelques heures. Si vous possédez un COLDCARD Mk2, Mk3, Mk4, Mk5 ou Q, vérifiez votre firmware dès maintenant. Si vous êtes concerné, suivez scrupuleusement la procédure de migration. Ne tardez pas. Chaque jour qui passe est une opportunité supplémentaire pour les acteurs malveillants de cibler les portefeuilles encore vulnérables. La sécurité de vos actifs numériques dépend de votre capacité à réagir rapidement et méthodiquement face à ce type de menace systémique. Le moment d’agir, c’est maintenant.