Augur : découverte d’une faille dans le client, mais le smart contract n’est pas concerné
“Code is Law”. Flawed code too. Après son lancement en juillet, la plateforme de paris décentralisée Augur (REP, montée sur la blockchain ETH) avait déjà fortement fait jaser, lors de l’apparition des premiers marchés prédictifs sur la survenue d’assassinats de personnalités publiques ou d’actes de terrorisme. Cette arrivée rapide de marchés fortement risqués avait coïncidé étrangement avec l’activation du kill switch, la suppression par les développeurs des clés leur permettant d’apporter des modifications au smart contract Augur.
Perdus dans le cyberespace
Depuis ce jour, l’application est donc officiellement une dApp, supposément totalement décentralisée, hors de tout contrôle de ses développeurs, qui s’en sont lavés les mains. L’activation du kill switch était un élément capital : une fois activé, plus personne ne peut intervenir sur le code de la plateforme dans un but correctif. C’est pourquoi certains se sont étonnés du caractère sans doute prématuré de son activation : les développeurs étaient-ils vraiment à ce point sûrs d’eux, au point de prendre le risque de ne plus jamais pouvoir apporter de mise à jour corrective à leur création ?
Une dApp oui, mais sur le fil du rasoir
Where is all the excitement from Augur on one month after launch?
Today, Augur had 30 active users and 123 transactions in the last 24 hours. The market cap is roughly $269.2 million. That means that each active user is now worth roughly $9 million. pic.twitter.com/wVyE9v5N9x
— Larry Cermak (@lawmaster) August 8, 2018
Larry Cermak, analyste pour le média crypto Diar, relevait jeudi 8 août qu’après un mois d’opérations, la dApp Augur ne comptait que 30 utilisateurs quotidiens et un volume de 123 transactions par jour. Ce qui, rapporté à la capitalisation actuelle du réseau (269 millions de dollars), valoriserait chaque utilisateur à près de 9 millions de dollars. Une belle incitation économique à tenter de venir se servir pour qui en aurait les compétences techniques. Et, là où d’habitude la fragilité est inhérente au code du smart contract lui-même, permettant à des attaquants de récupérer des fonds directement, il s’agit cette fois d’un bug dans le code source du client Augur qui a été découvert.
Un bug du logiciel client et non du smart contract : une correction rapide possible
La bonne nouvelle pour les (rares) utilisateurs d’Augur, c’est que cette vulnérabilité a pu immédiatement être corrigée par les développeurs. Viacheslav Sniezhkov est le héros du jour côté Augur. Ce white hat est un hacker spécialiste en cybersécurité mettant à profit ses talents pour débusquer des bugs contre rémunération. Il a rapporté avoir identifié le bug en question sur la plateforme HackerOne. Ce bug ne concernait donc que l’interface graphique du client Augur, et pas le smart contract à proprement parler. En accédant à certaines des données stockées en local sur l’ordinateur d’un utilisateur, un pirate aurait pu modifier les informations s’affichant dans le client : marchés ouverts ou non, transactions ayant eu lieu, adresses où envoyer ou recevoir des fonds en REP… A priori, personne n’a eu le temps de tirer parti de la vulnérabilité, et Viacheslav Sniezhkov a reçu 5000 $ de la Forecast Fondation pour services rendus.
En définitive, il y a eu plus de peur que de mal pour la plateforme décentralisée… Sauvée des eaux par un white hat bien réel, une fondation de développeurs réactifs, et par le fait chanceux que la fragilité n’ait pas concerné le smart contract directement. Les conséquences auraient forcément été d’une toute autre ampleur, kill switch oblige.
Sources : HackerOne ; Cryptovest || Images from Shutterstock & Giphy