Aller au contenu
Conseils de sécurité · · 4 min de lecture · 836 mots

Comment vérifier ce que votre portefeuille a autorisé

Une autorisation de jeton est une permission permanente qui survit à la transaction qui l'a créée. Voici comment voir ce que les vôtres ont autorisé, à l'aide d'outils auxquels vous faites déjà confiance.

Partager
Illustration de guide Conisec : lire, vérifier, décider, agir.
Conisec guide illustration: read, verify, decide, act.

La plupart des personnes qui perdent des jetons au profit d’un contrat malveillant n’ont pas été piratées au sens technique du terme. Elles ont autorisé quelque chose, et cette autorisation a continué de fonctionner longtemps après qu’elles l’eurent oubliée. Ce guide explique ce qu’est une autorisation, comment consulter les vôtres et — tout aussi important — ce contre quoi cette vérification ne vous protège pas.

Ce qu’est réellement une autorisation

Les jetons fongibles standard ne permettent pas à un contrat de vous prendre des jetons. Vous accordez plutôt une allocation : une permission permanente donnée à une adresse dépensière désignée pour déplacer, à tout moment, jusqu’à un certain montant d’un jeton donné depuis votre adresse.

Trois propriétés de cette permission comptent, et les trois surprennent :

  • Elle persiste. L’allocation n’est pas consommée par la transaction pour laquelle vous l’avez accordée. Elle demeure jusqu’à ce qu’elle soit épuisée ou modifiée.
  • Elle est généralement illimitée. Les interfaces demandent couramment la valeur maximale possible, car cela évite de vous solliciter à nouveau et économise du gaz. La permission couvre donc la totalité de votre solde de ce jeton — y compris les jetons que vous acquerrez plus tard.
  • Elle est propre à une adresse, pas à une application. Vous faites confiance à une adresse de contrat. Si une interface est compromise et vous demande d’autoriser une autre adresse, rien sur le site ne paraît anormal.

L’incident BadgerDAO en est l’illustration la plus nette dans notre Registre des incidents. Les contrats du protocole n’ont jamais été exploités. Les attaquants ont injecté du script dans le site web, qui demandait aux utilisateurs des autorisations vers une adresse qu’ils contrôlaient, et les autorisations ont fait le reste.

Comment consulter vos autorisations

Les autorisations sont des données publiques sur la chaîne. Vous n’avez besoin d’aucun service particulier pour les voir, et nous ne vous en indiquons délibérément aucun.

Tous les grands explorateurs de blocs proposent une vue des autorisations, ou des autorisations de jetons, pour une adresse. Collez-y votre propre adresse publique — celle qui commence par 0x et que vous communiquez pour recevoir des fonds — et vous verrez la liste des adresses dépensières que votre compte a autorisées, jeton par jeton, avec le montant de l’allocation.

Il s’agit d’une consultation en lecture seule. Elle n’exige aucune connexion de portefeuille, aucune signature et aucune clé. Si un outil qui prétend vous montrer vos autorisations exige que vous connectiez un portefeuille avant de les afficher, fermez-le.

Lire la liste

Vous cherchez trois choses :

  1. Des dépensiers que vous ne reconnaissez pas. Une adresse que vous ne pouvez rattacher à aucun protocole que vous avez utilisé délibérément.
  2. Des protocoles que vous n’utilisez plus. Une allocation accordée à un service que vous avez cessé d’utiliser il y a deux ans est toujours active aujourd’hui.
  3. Des allocations illimitées sur des soldes importants. L’exposition correspond au solde, pas au montant de votre transaction initiale.

Ce que Conisec ne vous dira pas de faire

Nous n’allons pas vous dire de révoquer quoi que ce soit, et nous ne renvoyons vers aucun outil de révocation. Il s’agit d’une position éditoriale délibérée, et non d’une prudence gratuite.

Après tout incident public, des sites frauduleux de « révocation », de « récupération » et de « vérification » apparaissent rapidement, font l’objet d’une publicité agressive et se classent souvent bien sur exactement les recherches qu’effectue une personne inquiète. Une publication qui envoie systématiquement ses lecteurs vers des interfaces de gestion des autorisations entraîne précisément l’habitude sur laquelle ces attaquants comptent. Ce qu’il convient de faire d’une autorisation qui vous déplaît est une décision qui vous appartient, prise au moyen d’une interface à laquelle vous faites déjà confiance et atteinte par un chemin que vous connaissez déjà.

Ce contre quoi cela ne vous protège pas

Passer en revue vos autorisations en vaut la peine, mais ce n’est pas à soi seul une stratégie de sécurité. Cela ne change rien à :

  • Une phrase secrète compromise. Si quelqu’un détient votre phrase de récupération, les allocations n’ont aucune importance — cette personne détient le compte.
  • La signature d’une transaction malveillante. Les autorisations régissent les transferts de jetons effectués par un tiers ; elles ne vous empêchent pas d’autoriser vous-même un transfert.
  • Les signatures hors chaîne. Certains dispositifs de permission et certains ordres de place de marché reposent sur des messages signés plutôt que sur des allocations sur la chaîne, et ceux-ci n’apparaîtront pas dans une vue standard des autorisations.
  • Les actifs sur une plateforme d’échange. Les jetons détenus sur une plateforme sous conservation d’un tiers ne sont pas dans votre portefeuille et n’ont aucune autorisation attachée.

L’habitude à prendre

Consultez vos autorisations de temps à autre, depuis votre propre favori vers un explorateur de blocs que vous utilisez déjà, quand rien ne va mal. Le pire moment pour apprendre à se servir de cette interface, ce sont les vingt minutes qui suivent l’annonce qu’un protocole que vous utilisez a été exploité — précisément le moment où une fausse version de cette interface vous attendra.

Pas un conseil. Conisec publie à titre d'information uniquement. Rien dans cet article ne constitue un conseil financier, juridique, fiscal ou de sécurité. Vérifiez auprès des sources primaires indiquées ci-dessus avant d'agir.

Pour aller plus loin