Coldcard, 100 millions de $ plus tard : La leçon que Ledger avait déjà retenue
La faille Coldcard continue de grossir. Galaxy Research a confirmé le vol de 1 596 BTC sur environ 7 300 adresses, réparti sur trois grandes vagues et quatorze incidents plus modestes, soit plus de 100 millions de dollars. Une quatrième séquence, encore en cours de vérification, porterait la facture à 2 055 BTC, près de 130 millions de dollars. Dans tous les cas, la cause est la même : un défaut dans la fabrication de la seed, cette phrase de 12 ou 24 mots qui sert de mot de passe unique à un portefeuille Bitcoin. Personne n’a piraté les appareils. C’est la façon dont ils ont créé leur secret qui a lâché.
Cet article contient des liens d’affiliation vous permettant de soutenir le travail quotidien des équipes du Journal du Coin.
Ce qui s’est vraiment passé chez Coldcard
Pour créer une seed, un wallet matériel doit produire un nombre totalement imprévisible. C’est le rôle d’un générateur de nombres aléatoires : plus ce nombre est dur à deviner, plus le portefeuille est sûr. Sur les Coldcard Mk2 et Mk3, une mise à jour de firmware de mars 2021 (versions 4.0.1 à 4.1.9) a changé la source de ce nombre : au lieu du composant matériel dédié, l’appareil se rabattait sur Yasmarang, un simple calcul logiciel. Le problème d’un calcul, aussi complexe soit-il, c’est qu’il reste prévisible pour qui connaît la formule et son point de départ. Résultat, certains Mk3 généraient des seeds avec une marge de sécurité réelle d’environ 40 bits au lieu des 128 bits attendus. Les Mk4, Mk5 et Q étaient eux aussi touchés avant leurs versions corrigées, avec environ 72 bits, un défaut moins grave mais bien réel.
Coinkite a publié son avis de sécurité le 30 juillet, mis à jour le 1er août, et a depuis livré des firmwares corrigés pour chaque modèle. Ce correctif règle la génération des futures seeds, mais ne répare rien pour celles déjà créées : le mal était fait au moment de la génération, pas après. Les TAPSIGNER, OPENDIME et SATSCARD, qui reposent sur un code différent, ne sont pas concernés. Notre couverture du premier vol de 594 BTC en 25 minutes donne la mesure de la rapidité avec laquelle les attaquants ont exploité la brèche dès sa découverte.
L’entropie, l’unique chiffre qui compte
En sécurité, ce niveau d’imprévisibilité s’appelle l’entropie, mesurée en bits. Chaque bit supplémentaire double le nombre de combinaisons possibles, donc la difficulté à deviner le secret. Pour se représenter la différence, imaginez chaque combinaison possible comme une goutte d’eau.
- Un Coldcard Mk3 touché par le bug tombait autour de 40 bits : toutes les gouttes d’eau de 20 piscines olympiques. Un simple ordinateur peut toutes les tester.
- Une seed BIP-39 standard de 12 mots vise 128 bits : plus de 12 000 milliards de fois toutes les gouttes d’eau des océans terrestres. Hors de portée du moindre calcul.
- Une seed Ledger de 24 mots encode 256 bits : un océan où chaque goutte contiendrait un autre océan, et chaque goutte de cet océan-là encore un autre. Aucune machine imaginable ne peut explorer un espace pareil.
L’écart entre ces trois seuils n’a donc rien de proportionnel : il est vertigineux, précisément parce que chaque bit double l’espace à explorer plutôt que de l’augmenter d’autant.
Pourquoi Ledger n’a jamais été concerné
Une Ledger produit son entropie avec un composant physique dédié, un générateur de nombres aléatoires vrai (TRNG), intégré directement dans la puce Secure Element. La différence avec le bug Coldcard tient en une phrase : un TRNG matériel s’appuie sur du bruit physique réellement imprévisible (des fluctuations électriques microscopiques), alors qu’un générateur logiciel comme Yasmarang applique une formule mathématique, donc reproductible si on connaît son point de départ.
Le TRNG de Ledger fournit ainsi les 256 bits d’entropie complets pour chaque phrase de 24 mots, avant qu’un traitement cryptographique ne les mette en forme dans Ledger OS : la physique produit le hasard, le logiciel le structure.
Ce n’est pas qu’une promesse. Trois organismes indépendants sont venus vérifier ce composant plutôt que de croire Ledger sur parole. AIS-31 / PTG.2, méthode allemande utilisée par l’organisme fédéral de cybersécurité (BSI), qui examine la source physique de bruit elle-même, pas seulement les résultats qu’elle produit. CC EAL5+ / EAL6+, la certification Critères Communs de la puce Secure Element, parmi les niveaux d’exigence les plus élevés pour du matériel. CSPN, le label de l’ANSSI (l’agence française de cybersécurité), qui évalue justement la qualité de la génération aléatoire. Ledger va jusqu’à lister, dans ses propres cibles de sécurité publiées, « générer un nombre aléatoire biaisé ou déterministe » comme menace n°1 à couvrir. C’est exactement le scénario qui vient de coûter 100 millions de dollars à Coldcard.

L’autocustody n’est pas en cause, le firmware non audité si
Cet incident n’invalide pas la conservation personnelle de ses clés (self-custody, le fait de garder soi-même ses cryptos plutôt que de les laisser sur une plateforme). C’était une défaillance d’implémentation, pas un défaut du modèle : la mécanique du BIP-39 (le standard qui régit la création des seeds) fonctionne très bien, c’est un fabricant qui a mal généré son nombre secret. La leçon n’est donc pas d’abandonner l’autocustody, mais de choisir du matériel dont les garanties sont vérifiées par des tiers, exactement le type de propriété qu’on ne peut pas juger à l’œil nu en sortant l’appareil de sa boîte. Laisser ses bitcoins sur un exchange ne fait que remplacer un risque technique corrigible par un risque de contrepartie permanent : un solde sur une plateforme n’est jamais qu’une reconnaissance de dette, pas une propriété.
Un détail vient nuancer le tableau. Coinkite précise que les utilisateurs Coldcard ayant activé une passphrase BIP-39 forte et unique, ce mot de passe additionnel et facultatif qu’on ajoute par-dessus la seed pour créer un portefeuille caché, ont échappé à cette attaque précise : les mots de la seed seuls ne suffisent pas à atteindre un portefeuille protégé de cette façon.
Les solutions Ledger pour protéger votre seed
Ledger propose la même option, jamais activée par défaut. Pour les utilisateurs que la gestion d’une phrase de 24 mots inquiète, Ledger Recover offre par ailleurs un service optionnel qui chiffre et fragmente une copie de sauvegarde entre plusieurs prestataires indépendants, restaurable après vérification d’identité, jamais activé sans action explicite de l’utilisateur.
Cette rigueur n’est pas nouvelle. Fin 2022, la Ledger Donjon, l’équipe de recherche en sécurité interne de Ledger, avait déjà débusqué une faille comparable chez un concurrent : l’extension navigateur de Trust Wallet générait des portefeuilles entièrement récupérables depuis leur simple adresse publique, exposant potentiellement 30 millions de dollars. L’équipe a signalé le bug de façon responsable avant toute divulgation publique. La même équipe attaque en continu les produits Ledger pour trouver leurs propres failles avant tout le monde.
Pour les anciens utilisateurs Coldcard, un point mérite d’être répété clairement. Importer une seed exposée dans un autre wallet, Ledger inclus, ne corrige rien. Restaurer l’ancienne seed sur un firmware à jour ou sur un autre appareil transporte la faiblesse avec elle, puisque le secret lui-même reste faible. Seule une seed entièrement nouvelle, générée sur du matériel sécurisé, suivie d’un transfert des fonds vers cette nouvelle adresse, referme le problème. La quatrième vague de vols reste, à ce stade, sous investigation chez Galaxy Research.