Faille de sécurité de Coldcard aurait exposé 1 128 BTC soit 71,1 M$

iconBitcoin.com
Partager
AI summary iconRésumé
Une faille de cinq ans dans les portefeuilles matériels Coldcard aurait permis à des pirates de voler 1 128,4717 BTC, d'une valeur d'environ 71,1 M$. Une faiblesse dans la génération aléatoire des seed a affecté les firmwares depuis 2021, Coinkite suggérant que l'IA aurait pu détecter ce problème. Les utilisateurs sont invités à passer à une version mise à jour du firmware. Cet incident met en lumière le BTC comme couverture contre l'inflation et la nécessité de respecter les normes CFT (lutte contre le financement du terrorisme).

Une faille logicielle de cinq ans dans Coldcard aurait pu permettre à un attaquant de reconstituer les clés privées et de vider plus de 1 100 bitcoin, poussant le fabricant du wallet à imputer en partie la découverte à l'intelligence artificielle (IA).

Points clés

  • Les semences liées à Coldcard ont été exposées, représentant 1 128,4717 BTC, soit environ 71,1 millions de dollars.
  • Coinkite affirme que l'IA aurait pu découvrir la faille de cinq ans, mais l'attribution reste non prouvée.
  • Les utilisateurs de Coldcard avec des semences affectées doivent créer de nouveaux wallets sur un firmware corrigé.

Un balayage coordonné vide des centaines de wallets

L'incident est devenu public après que environ 594 BTC, évalués à près de 38 millions de dollars à l'époque, ont été transférés à partir d'environ 500 adresses bitcoin à signature unique le 30 juillet. When the news first broke, Bitcoin.com News noted que les transferts ont eu lieu dans un délai d'environ 25 minutes et semblaient cibler des wallets présentant une faiblesse technique commune.

Plus tard, les analyses de la blockchain ont élargi l'échelle possible du vol. Les chercheurs ont estimé que entre 1 082 et 1 196 adresses auraient pu être affectées pendant une période d'environ 41 minutes. Un tableau de bord personnalisé appelé Coldcard Sweep Watch a ensuite fixé le total à 1 128,4717 BTC, soit environ 71,1 millions de dollars lorsque le bitcoin était échangé à près de 63 044 dollars.

Capture d'écran du tableau de bord Coldcard Sweep Watch.
Source de l'image : tableau de bord Coldcard Sweep Watch. Capture d'écran effectuée à 8 h 30, heure de l'Est, le 1er août 2026. Depuis la prise de cette capture d'écran, une heure plus tard à 9 h 30, l'estimation a augmenté à 1 128,6633 BTC.

La plupart des fonds ont été regroupés dans une adresse détenant des centaines de bitcoin, où une grande partie est restée largement stationnaire. Les adresses concernées étaient liées par un détail important : leurs seeds de récupération avaient été créés sur des wallets matériels Coldcard fabriqués par l'entreprise canadienne Coinkite.

Une seed de récupération est une liste de mots qui permet d'accéder à un wallet de cryptomonnaie. Toute personne capable de reconstituer ou d'obtenir cette seed peut généralement déplacer les fonds du wallet sans posséder l'appareil physique.

Coldcard découvre un système de randomisation défectueux

Coinkite émet une alerte urgente indiquant que certaines phrases de départ générées sur les appareils Coldcard pourraient être faibles. Les appareils Mk3 fonctionnant avec la version du micrologiciel 4.0.1, publiée vers mars 2021, et les versions ultérieures étaient parmi ceux confrontés au risque le plus élevé.

Une analyse plus approfondie a élargi la préoccupation aux seeds créés sur certains appareils Mk4, Mk5 et Q avant Coinkite a publié des correctifs d'urgence du micrologiciel. Les produits Tapsigner, Opendime et Satscard n'auraient pas été affectés car ils utilisent un logiciel différent.

La faille concernait le processus utilisé pour générer des données aléatoires. Les wallets sécurisés dépendent d'une aléatoire de haute qualité afin que leurs seeds de récupération ne puissent pas être devinés. Sur les appareils Mk3 les plus gravement affectés, les chercheurs ont estimé que le seed ne contenait peut-être que environ 40 bits de randomité effective au lieu des 128 bits prévus.

Cette différence est critique. Une graine de 128 bits correctement générée est considérée pratiquement impossible à deviner par force brute. Une graine de 40 bits offre nettement moins de possibilités, permettant à un attaquant disposant d'une puissance de calcul suffisante de tester les graines potentielles hors ligne et de comparer les adresses résultantes avec la blockchain bitcoin publique.

Certains appareils plus récents ont peut-être fourni environ 72 bits de randomisation effective car le matériel sécurisé a ajouté une couche supplémentaire de données imprévisibles. Cela rendrait les graines plus difficiles à reconstituer, though still much weaker than intended.

Une erreur de configuration a survécu pendant 5 ans

Le problème a commencé par une erreur de configuration au moment de la compilation impliquant deux fonctions logicielles qui effectuaient des tâches similaires. Une fonction utilisait le générateur de nombres aléatoires véritables basé sur le matériel de l'appareil, tandis que l'autre reposait sur un processus logiciel plus faible hérité de MicroPython.

Coinkite prévoyait de désactiver l'option MicroPython. Toutefois, une vérification logicielle ne prenait en compte que la présence d'une étiquette de configuration, et non le fait que sa valeur ait été définie à zéro. En conséquence, le firmware final pouvait sélectionner silencieusement la fonction la plus faible.

Étant donné que les deux fonctions avaient des formats identiques, le logiciel a continué à être compilé et exécuté sans produire d'erreur évidente. L'erreur a été introduite dans le code lors d'une migration logicielle vers 2021 et est restée dans les firmwares disponibles au public pendant plus de cinq ans.

Mettre à jour un appareil maintenant ne renforce pas une seed générée sous le logiciel défectueux. Les utilisateurs concernés doivent créer une toute nouvelle seed en utilisant le firmware corrigé ou un autre appareil sécurisé, puis transférer leurs fonds vers des adresses contrôlées par cette nouvelle seed.

Capture d'écran X
Source de l'image : X

Les utilisateurs ayant ajouté au moins 50 lancers de dés indépendants lors de la création de leur seed ont peut-être fourni suffisamment de randomisation supplémentaire pour éviter la faiblesse. Une passphrase BIP-39 robuste aurait également pu rendre la reconstruction plus difficile, tandis que les wallets exigeant des signatures provenant de plusieurs appareils indépendants ont pu empêcher une seed compromise de déplacer les fonds seule.

Coinkite pointe vers l'IA, mais la preuve reste manquante

Le PDG de Coinkite, Rodolfo Novak, s'est excusé publiquement et a déclaré que l'entreprise assumait pleinement la responsabilité de la défaillance du firmware. Il a indiqué que l'équipe travaillait sur un logiciel corrigé, des rapports techniques et un soutien pour les utilisateurs concernés.

Coinkite et Novak ont également avancé une théorie frappante sur la manière dont la faille a été découverte. Étant donné que son firmware était disponible publiquement depuis des années, l'entreprise a déclaré croire qu'une personne aurait pu utiliser l'IA pour examiner les anciennes versions du code et identifier le chemin de faible aléatoire.

« À tous les autres développeurs : nous pensons que c’est une réalité lucide du nouveau paradigme de l’IA. L’analyse de code assistée par l’IA peut désormais détecter des bogues latents à une vitesse qui dépasse même celle des experts les plus chevronnés de l’industrie », Novak a écrit dans son message d’excuses publié sur X. « Si votre firmware est open-source ou a déjà été rendu public, supposez qu’il est déjà lu à la fois par des attaquants et des défenseurs. »

Les systèmes modernes de programmation par IA d’aujourd’hui peuvent traiter de grands dépôts logiciels et identifier des relations suspectes entre les paramètres de configuration, les fonctions et les hypothèses de sécurité. Un attaquant pourrait demander à un tel système de rechercher spécifiquement des générateurs de nombres aléatoires faibles, des fonctions de secours ou des erreurs affectant les clés cryptographiques.

Capture d'écran X
Certains observateurs ont utilisé les meilleurs modèles d'IA pour découvrir l'exploit Coldcard par eux-mêmes. Source de l'image : X

Des chercheurs indépendants ont ensuite rapporté avoir utilisé des modèles d'IA pour localiser ou expliquer le problème après que le problème de randomisation sous-jacent ait été connu. Cela a démontré à quel point l'analyse de code assistée par l'IA est devenue accessible, mais n'a pas établi que l'attaquant original avait utilisé l'IA.

Article de blog sur le Coldcard Wallet discutant d'une capture d'écran d'IA.
Source de l’image : article de blog de Coldcard Wallet discutant de l’IA.

Coinkite a reconnu que son propre examen à l'aide d'un modèle d'IA de pointe n'a pas permis de détecter la faille avant le vol. Ce résultat montre que les systèmes d'IA ne découvrent pas automatiquement chaque défaut sérieux. Leur performance peut dépendre des instructions qu'ils reçoivent, du montant de code fourni et de la capacité d'un examinateur humain à reconnaître les signaux d'alerte.

Les critiques affirment que l'échec humain est venu en premier

Certains spécialistes de la sécurité affirment que se concentrer trop lourdement sur les risques liés à l'intelligence artificielle (IA) détourne l'attention d'une défaillance fondamentale en ingénierie. Beaucoup pensent que l'erreur de configuration était un type connu d'erreur logicielle, et des revues de code conventionnelles, des procédures de test ou des audits axés sur la génération de graines auraient pu la détecter des années plus tôt.

Capture d'écran X.
Certains observateurs ne croient pas que l'IA soit en cause et pensent que l'équipe d'ingénierie aurait dû détecter l'exploitation par elle-même. Source de l'image : X.

Les points de vue opposés ne sont pas nécessairement incompatibles. Une erreur humaine a créé la vulnérabilité et l'a fait persister, tandis que l'IA a pu réduire le coût de sa découverte, de sa compréhension ou de son exploitation. Les défenseurs doivent identifier chaque faiblesse dangereuse, tandis qu'un attaquant n'a besoin d'en trouver qu'une seule.

L'incident remet également en question les hypothèses sur la sécurité des logiciels open source. Le code public permet à des experts indépendants d'inspecter le logiciel, mais la simple disponibilité ne garantit pas que quelqu'un examinera la bonne section, reconnaîtra un défaut subtil et le signalera avant qu'un attaquant n'agisse.

Pour les utilisateurs de Coldcard, la priorité immédiate est de déterminer quand et comment leur seed a été créé. Toute personne ayant un seed affecté doit vérifier les instructions via les canaux officiels de Coinkite, installer le micrologiciel corrigé, créer un nouveau seed et déplacer ses fonds avec précaution tout en restant vigilant face aux tentatives d’hameçonnage et aux messages de support falsifiés.

Les questions à plus long terme porteront sur la quantité de bitcoin prise, si les enquêteurs peuvent identifier l'attaquant, et si l'IA a joué un rôle décisif dans la découverte de la faille. Les entreprises de wallets matériels feront également face à une pression pour renforcer les tests d'entropie, auditer les configurations de construction et examiner continuellement les anciens codes à l'aide d'experts humains et d'outils d'IA adversariale.

Clause de non-responsabilité : les informations sur cette page peuvent avoir été obtenues auprès de tiers et ne reflètent pas nécessairement les points de vue ou opinions de KuCoin. Ce contenu est fourni à titre informatif uniquement, sans aucune représentation ou garantie d’aucune sorte, et ne doit pas être interprété comme un conseil en investissement. KuCoin ne sera pas responsable des erreurs ou omissions, ni des résultats résultant de l’utilisation de ces informations. Les investissements dans les actifs numériques peuvent être risqués. Veuillez évaluer soigneusement les risques d’un produit et votre tolérance au risque en fonction de votre propre situation financière. Pour plus d’informations, veuillez consulter nos conditions d’utilisation et divulgation des risques.