Un portefeuille d'extension de navigateur est un petit programme qui vit à l'intérieur de votre navigateur web — Chrome, Firefox, Brave ou Edge — et qui détient les clés de votre crypto. Vous l'installez de la même façon qu'un bloqueur de publicités : depuis la boutique de modules du navigateur, en un seul clic. Une fois là, une icône de portefeuille s'installe à côté de votre barre d'adresse, prête chaque fois que vous visitez un site web qui doit manipuler de la crypto.
Ce guide explique comment ce type de portefeuille fonctionne réellement, à quoi ressemble son modèle de sécurité et où se trouvent les vrais risques. Si vous êtes tout nouveau aux portefeuilles, commencez par ce qu'est un portefeuille crypto puis par la comparaison plus large entre un portefeuille logiciel et un portefeuille matériel — cet article se concentre spécifiquement sur la variante basée sur le navigateur.
Ce qu'est réellement une « extension »
Une extension de navigateur est un logiciel qui ajoute des fonctionnalités à votre navigateur. Le navigateur est le programme hôte ; l'extension est un invité que le navigateur laisse s'exécuter en son sein. Les extensions peuvent lire et modifier les pages web que vous visitez, afficher leurs propres fenêtres contextuelles et stocker des données sur votre ordinateur. C'est précisément ce pouvoir qui rend un portefeuille d'extension pratique — et précisément ce que vous devez comprendre avant de lui confier de l'argent.
Un portefeuille d'extension utilise ce pouvoir pour trois tâches. Il stocke vos clés dans le stockage local du navigateur, généralement protégées par un mot de passe. Il vous montre une fenêtre contextuelle lorsque vous devez approuver quelque chose. Et il dialogue avec les pages web grâce à une technique appelée injection.
Comment fonctionne l'injection
L'injection signifie que le portefeuille place un petit morceau de code dans chaque page web que vous ouvrez. Imaginez le portefeuille laissant un téléphone sur la table de chaque site que vous visitez. Lorsqu'un site web veut faire quelque chose avec de la crypto — se connecter à votre portefeuille, afficher votre solde ou vous demander d'envoyer une transaction — il prend ce téléphone et fait une demande.
Votre portefeuille reçoit la demande et n'agit pas en silence. Il ouvre une fenêtre contextuelle et vous interroge. « Ce site veut se connecter. » « Ce site veut que vous signiez une transaction envoyant 0,2 ETH. » Rien ne bouge tant que vous ne cliquez pas sur approuver. Le site web peut demander ; vous seul pouvez accepter. Cette étape d'approbation est l'habitude la plus importante dans l'usage de tout portefeuille de navigateur : lisez la fenêtre contextuelle avant de cliquer.
C'est cette conception qui permet à une application décentralisée — une dApp, c'est-à-dire un site web qui tourne sur une blockchain — de fonctionner directement depuis un onglet de navigateur ordinaire sans logiciel supplémentaire. C'est réellement utile. Mais parce que le portefeuille est joignable depuis chaque page, chaque page fait aussi partie du tableau quand on parle de sécurité.
La surface d'attaque
« Surface d'attaque » est un terme simple pour désigner tous les endroits par lesquels une chose peut être attaquée. Une porte d'entrée, une porte de derrière et une fenêtre ouverte font toutes partie de la surface d'attaque d'une maison. Un portefeuille de navigateur en a quelques-unes.
Pages web malveillantes ou compromises. Parce que le portefeuille s'injecte dans chaque site, un site hostile peut lui envoyer des demandes. Le portefeuille vous interroge quand même en premier, donc une page malveillante ne peut pas déplacer de fonds toute seule — mais elle peut élaborer une demande déroutante et espérer que vous l'approuviez sans la lire.
dApps de hameçonnage. Un site de hameçonnage est une contrefaçon construite pour ressembler à un vrai. Une copie d'une plateforme d'échange populaire ou d'une place de marché de NFT peut vous demander de « vérifier votre portefeuille » et présenter une transaction qui en réalité le vide. La fenêtre contextuelle est honnête sur ce qu'elle va faire ; c'est le site web qui a menti sur le pourquoi.
Autorisations trop larges. Lorsque vous installez une extension, le navigateur énumère ce à quoi elle peut accéder. Beaucoup de portefeuilles demandent la permission de lire et de modifier les données sur tous les sites web — il leur en faut pour s'injecter partout. Le coût, c'est qu'un portefeuille à large portée est une plus grosse prise s'il est un jour retourné contre vous.
Risque de chaîne d'approvisionnement. C'est le risque subtil. Une attaque de la chaîne d'approvisionnement ne vise pas vous, mais quelque chose dont vous dépendez. Le logiciel moderne est assemblé à partir de centaines de plus petites briques open source appelées dépendances. Si un attaquant glisse du mauvais code dans l'une de ces briques — une dépendance empoisonnée — ou détourne la mise à jour qui pousse une nouvelle version de l'extension vers votre navigateur, le code malveillant arrive par un canal auquel vous faites déjà confiance. Vous avez installé une extension sûre ; une mise à jour ultérieure, ou un composant enfoui à l'intérieur, ne l'était pas.
Pour un regard plus approfondi et neutre vis-à-vis des fournisseurs sur la façon dont les extensions de navigateur sont construites et sécurisées, la documentation des extensions web de MDN de Mozilla est la référence faisant autorité, et le projet OWASP publie des conseils généraux sur les menaces web ci-dessus.
Comment SSP réduit le risque
Rien de tout cela ne signifie que les portefeuilles de navigateur ne sont pas sûrs à utiliser. Cela signifie qu'un portefeuille bien construit doit planifier en fonction de la surface d'attaque au lieu de prétendre qu'elle n'existe pas. SSP fait cela de deux manières concrètes.
Le cloisonnement d'exécution LavaMoat. Un bac à sable (sandbox) est un espace confiné où une chose peut s'exécuter sans pouvoir atteindre le reste du système — comme un vrai bac à sable garde le sable en un seul endroit. LavaMoat applique cette idée à ces centaines de dépendances. Chaque dépendance s'exécute dans son propre compartiment scellé avec accès uniquement à ce dont elle a réellement besoin. Ainsi, si une dépendance empoisonnée se glisse bien à l'intérieur via une attaque de la chaîne d'approvisionnement, elle est coincée : elle ne peut pas atteindre discrètement le reste du portefeuille pour lire vos clés, parce que les murs de son compartiment ne le permettent pas. L'attaque est contenue au lieu d'être catastrophique. Nous le détaillons dans l'article de la salle de presse sur l'arrivée de LavaMoat dans SSP.
Une conception 2 sur 2. C'est la protection structurelle la plus importante. La plupart des portefeuilles de navigateur détiennent la clé entière — approuvez une mauvaise fenêtre contextuelle et les fonds disparaissent. SSP répartit la signature sur deux appareils : l'extension de navigateur détient une clé, et l'application SSP Key sur votre téléphone détient la seconde. Une transaction n'est valide que lorsque les deux la signent. L'extension seule ne peut déplacer une seule pièce.
Cela change complètement le calcul. Même si une page malveillante trompe l'extension, même si une mise à jour compromise l'atteint, l'attaquant ne contrôle qu'une seule des deux clés requises. Votre téléphone — un appareil distinct, avec un écran distinct vous montrant les détails de la transaction — doit quand même approuver. Une attaque qui viderait un portefeuille de navigateur ordinaire cale devant un mur qu'elle ne peut franchir.
Alors, les portefeuilles de navigateur sont-ils sûrs ?
Un portefeuille de navigateur est assez sûr pour un usage quotidien lorsque deux choses sont vraies : le portefeuille est construit pour contenir les défaillances décrites plus haut, et vous traitez la fenêtre d'approbation comme une vraie décision plutôt qu'un réflexe. N'installez des extensions que depuis les boutiques officielles, gardez le portefeuille à part dans un navigateur de confiance, et ralentissez chaque fois qu'un site vous demande de signer quelque chose.
La plus grande faiblesse d'un portefeuille de navigateur — vivre dans un navigateur affairé et connecté à internet — est réelle. La réponse de SSP n'est pas de l'ignorer, mais de supposer que le navigateur peut être compromis et de rendre cela survivable : LavaMoat contient une mauvaise dépendance, et la conception 2 sur 2 signifie que l'extension seule ne suffit jamais à vous faire perdre vos fonds. Ensuite dans cette série, les portefeuilles crypto mobiles examinent l'autre moitié de ce duo — le téléphone qui doit cosigner.