Aller au contenu principal

Crypto : une IA a trouvé un bug qui pouvait créer 18 000 milliards de XRP


Dix-huit mille milliards de XRP. En une seule transaction, pour quelques centaines de XRP de mise de départ. C'est ce qu'un pirate aurait pu fabriquer à partir de rien sur le XRP Ledger, la blockchain du XRP, une des dix plus grosses cryptos du marché. Pour te donner l'échelle : il n'existe que 100 milliards de XRP en tout. Le bug permettait d'en créer 184 fois plus que ce qui existe !

Rassure-toi tout de suite, personne ne l'a utilisé. Il a été trouvé le 21 septembre, corrigé le 25, et rendu public le 9 octobre par l'équipe qui maintient la blockchain. Et le plus fou, ce n'est pas le bug. C'est qui l'a trouvé : un agent d'IA, c'est-à-dire une IA qui fouille le code toute seule, de la petite entreprise de sécurité Veria Labs. Le bug dormait là depuis 2015.

Dans la salle des coffres d'une banque, une grosse presse à frapper la monnaie s'emballe et crache une avalanche de pièces argentées jusqu'au plafond, pendant qu'un petit robot blanc, sur la pointe des pieds, appuie sur le gros bouton rouge d'arrêt d'urgence

Une IA a trouvé le bouton d'arrêt avant que quelqu'un ne trouve la machine à billets

Le coup du compteur kilométrique

Le XRP Ledger a une petite bourse intégrée : les gens y déposent des offres du genre « je vends tant de XRP contre tant de dollars numériques », et un paiement peut traverser plusieurs offres d'un coup pour trouver le meilleur prix. Pour savoir combien l'acheteur doit payer, le logiciel additionne ce que demande chaque vendeur. Jusque-là, rien de sorcier.

Sauf que cette addition se fait dans une case de taille fixe, et que personne ne vérifiait si elle débordait. Tu connais le vieux compteur kilométrique des voitures ? Arrivé à 999 999, il ne passe pas à un million : il repasse à 000 000. En informatique, ça s'appelle un dépassement, un « overflow », et c'est exactement ce qui se passait ici.

Avant et après, côte à côte, gros plan sur le même vieux compteur kilométrique mécanique : à gauche il affiche 999999, à droite les chiffres ont tourné et affichent 000000

Un kilomètre de plus, et ta vieille voiture redevient neuve

Avec quelques centaines d'offres qui demandaient chacune une quantité énorme de XRP, le total dépassait la taille de la case et retombait sur un tout petit nombre. Résultat : l'acheteur ne payait presque rien, et chaque vendeur recevait quand même la totalité de ce qu'il demandait. La différence ? Elle sortait de nulle part. Des XRP tout neufs, créés à partir de rien.

À la caisse d'un supermarché, un client ravi pousse un caddie qui déborde de courses, de téléviseurs et de cartons, pendant que la caissière regarde, incrédule, l'écran de la caisse qui affiche un total de 0,03 euro

Le caddie plein, le total à 3 centimes, et la caisse qui dit merci

Le XRP Ledger avait pourtant un garde-fou : un contrôle automatique qui vérifie, après chaque transaction, qu'aucun XRP n'a été créé. Mais ce contrôle faisait ses calculs avec la même addition sans vérification. Il était aveugle exactement au problème qu'il devait attraper. Un détecteur de fumée qui ne détecte que l'air pur, en somme.

Moi qui fais du C# depuis vingt-cinq ans, ça me fait un petit pincement : le dépassement d'entier, c'est le bug qu'on apprend dans les premiers cours de programmation. En C#, il y a même un mot-clé, checked, qui fait planter le calcul au lieu de le laisser retomber sur zéro en douce. Une ligne, et onze ans de risque en moins.

Onze ans, une douzaine d'audits, et personne n'avait rien vu

Ce n'est pas un projet abandonné dans un coin. D'après Veria Labs, le code du XRP Ledger a subi plus d'une douzaine d'audits et de concours de sécurité depuis 2024, dont un avec 550 000 dollars de récompenses à la clé, et ses programmes de primes aux chercheurs ont déjà distribué plus d'un million de dollars. Des centaines de paires d'yeux humains sont passées dessus.

Alors pourquoi personne ? Cayden Liao, le cofondateur de Veria Labs, a une explication qui tient debout : la faille « enchaîne deux bugs qui seraient de faible gravité chacun de leur côté ». D'un côté l'addition qui déborde, de l'autre le contrôle qui calcule pareil. Pris séparément, on hausse les épaules. Mis bout à bout, c'est la planche à billets. Leur agent d'IA a fouillé le code, repéré les deux petits défauts et compris qu'en les combinant, on obtenait un monstre. Un humain de l'équipe a ensuite vérifié que ça marchait vraiment sur le réseau réel avant d'envoyer le rapport.

Graphique en barres, estimation de Veria Labs, qui a trouvé le bug, en milliards de XRP : tous les XRP existants, 100 milliards ; XRP que le bug pouvait créer en une seule transaction, 18 450 milliards, une barre 184 fois plus longue

La barre grise, c'est tous les XRP du monde. La rouge, c'est une seule transaction piégée

La récompense : 250 000 dollars, le maximum du programme. « À notre connaissance, c'est la plus grosse prime jamais versée pour une faille découverte entièrement par un agent d'IA », dit Liao. Et il ajoute un détail qui m'a fait tiquer : après coup, ils ont pointé des assistants de code ordinaires droit sur le bout de code fautif, et ils n'ont toujours pas trouvé le bug. Bon, c'est une entreprise qui parle de son propre produit, donc je prends ça avec des pincettes. Mais le résultat, lui, est là, noir sur blanc dans le rapport officiel.

Ce n'est d'ailleurs pas la première fois cette saison. Il y a cinq jours, je racontais comment l'IA chasseuse de failles d'Anthropic avait déniché un bug que des tests automatiques avaient survolé cinq millions de fois sans le voir. Les IA deviennent très fortes pour trouver ce que les humains ont regardé trop souvent pour encore le voir.

Réparé en trois jours, sans attendre le vote

Normalement, sur le XRP Ledger, une modification des règles passe par un vote : les validateurs, ces ordinateurs qui vérifient et approuvent les transactions, doivent être plus de 80 % à la soutenir pendant deux semaines avant qu'elle s'active. C'est démocratique, c'est prudent, et ici c'était dangereux : publier le correctif, c'était montrer du doigt la faille à tous les pirates du monde, deux semaines avant qu'elle soit refermée.

Alors l'équipe a fait autrement, pour la première fois en plus de dix ans. Le correctif est sorti directement dans la version 3.4.1 du logiciel, le 25 septembre, et le code n'a été publié qu'après. Plus de 80 % des validateurs principaux l'avaient installé le jour même. Leur justification, dans le rapport : une courte période de mise à jour avec un risque limité valait mieux que « des semaines d'une faille connue de tous et grande ouverte ». Le risque assumé : pendant la transition, des serveurs de versions différentes pouvaient ne plus être d'accord, et la blockchain aurait pu se figer quelques instants. Ils ont préféré un arrêt à une planche à billets. Je signe des deux mains.

Et si tu as des XRP ?

Rien à faire. Aucun XRP n'a été créé, aucun fonds n'a été perdu, et l'équipe du XRP Ledger dit n'avoir trouvé aucune trace d'exploitation sur le réseau. Tes XRP sur une plateforme ou dans ton propre portefeuille n'ont jamais été en danger direct. Le vrai danger, c'était l'inflation surprise : si un pirate avait créé des milliers de milliards de XRP et commencé à les revendre, c'est la valeur de tous les XRP du monde qui aurait fondu, les tiens compris.

Le seul cas où tu as quelque chose à faire, c'est si tu fais tourner toi-même un serveur du XRP Ledger : la version 3.4.1 est désormais le minimum exigé.

Et ce que cette histoire apporte, au fond, c'est une bonne nouvelle : les IA qui trouvent des failles ne travaillent pas que pour les pirates. Celle-ci a trouvé la planche à billets, l'a signalée, a touché sa prime, et le trou a été bouché avant que quiconque ne s'en serve. C'est exactement comme ça que ça doit marcher.

Une seule fausse note, relevée par le site Cointelegraph : Veria parle de 94 milliards de dollars mis en danger, toute la valeur du XRP au cours de 1,59 dollar, et touche 250 000 dollars. Un quart de millième de pour cent du risque. Pour une faille à 94 milliards, Ripple, l'entreprise derrière le XRP, s'en tire avec un pourboire.

Alors à l'agent de Veria Labs : bravo, tu viens de gagner plus en une nuit que la plupart des développeurs en trois ans. Et à tous les développeurs qui me lisent : mettez un checked sur vos additions de sous. Ça coûte une ligne !

Sources

Article écrit avec l'aide de Claude Code, relu et corrigé par moi.

Rejoignez la conversation

Vous devez avoir un compte pour commenter cet article. La création est gratuite et prend moins d'une minute.

  • Le fichier XMLTV à télécharger gratuitement, chaque jour
  • Commenter les articles et répondre aux autres lecteurs
  • Être averti par e-mail des nouveaux articles que vous suivez

Aucun commentaire pour le moment.

Une erreur s'est produite. Cette application peut ne plus répondre jusqu'à ce qu'elle soit rechargée.Veuillez contacter l'auteur. Reload 🗙