Des dApps sans portefeuille de navigateur
Les sites web s’attendent à trouver un portefeuille dans le navigateur. Le navigateur est le programme le plus exposé de l’ordinateur. AirNox résout ce problème avec une extension qui ressemble à un portefeuille aux yeux de la page et qui ne détient absolument rien.

Sur cette page
Une extension qui n’est pas un portefeuille
L’extension de navigateur (browser extension) AirNox injecte les interfaces standard que recherchent les applications décentralisées : EIP-1193 et EIP-6963 pour les réseaux EVM, TON Connect, ainsi que les Wallet Standards de Solana et de Sui. Pour une page, c’est un portefeuille. Elle répond de la manière habituelle à « quels comptes », « quelle chaîne », « signez ceci, s’il vous plaît ».
En interne, c’est un simple coursier. Elle ne détient aucune clé, ne stocke aucune seed et ne peut rien signer. Chaque requête d’une page est transmise par un canal purement local à AirNox Wallet sur l’ordinateur, et la réponse revient par le même chemin. Si l’extension était remplacée demain par une copie malveillante, celle-ci n’aurait rien à voler ni rien avec quoi signer.
Ce qui ne va pas avec un portefeuille-extension classique
Un portefeuille web3 classique vit entièrement dans le navigateur, clés comprises. Cela place les clés dans le programme le plus exposé de l’ordinateur. Du code injecté dans une page peut atteindre l’interface de l’extension. Les secrets stockés sont protégés par un chiffrement que les cartes graphiques modernes cassent par force brute (brute force) à grande échelle. Beaucoup embarquent des traqueurs et de la publicité. Rares sont ceux qui offrent la moindre protection contre une adresse de destinataire substituée. Et ils consomment de la mémoire et du temps processeur toute la journée pour ce privilège. AirNox réduit la partie navigateur à un coursier et sort du navigateur tout ce qui compte, vers un programme de bureau natif et, en mode AirGap, vers un téléphone qui n’est jamais en ligne.
Uniquement en local
Le canal entre l’extension et l’ordinateur ne quitte jamais votre machine. Il n’y a ni serveur relais, ni session dans le cloud, ni compte. Les deux extrémités s’authentifient mutuellement : un programme qui se fait passer pour le portefeuille n’obtient rien, et une page qui se fait passer pour l’extension n’obtient rien non plus.
Les permissions appartiennent à l’ordinateur
Les permissions résident dans AirNox Wallet, pas dans le navigateur. Elles sont accordées par origine et par chaîne, une à une, et rien n’est implicite. Un site autorisé à voir votre compte Ethereum n’est pas autorisé pour autant à voir votre compte Polygon. Un site autorisé sur un portefeuille ne l’est pas sur un autre.

L’origine est celle que le navigateur a prouvée, pas un simple texte envoyé par la page. Une page ne peut pas se faire passer pour un autre site. Et l’ensemble du système est fermé par défaut (fail-closed) : tout ce qui n’a pas été explicitement accordé est refusé, et une requête que le portefeuille ne comprend pas est refusée elle aussi.
Verrouillé veut dire non
Tant que le portefeuille est verrouillé, l’extension ne répond à rien, quelle que soit la formulation de la requête. Une page ne peut ni réveiller le portefeuille, ni énumérer les comptes, ni mettre en file d’attente une signature à effectuer une fois que vous aurez déverrouillé. C’est vous qui déverrouillez le portefeuille, dans le portefeuille, et alors seulement le navigateur obtient des réponses.
La signature
Transactions, messages et données typées suivent tous le même chemin. L’ordinateur décode et contrôle d’abord la requête : il reconnaît les opérations standard et signale les sosies, les autorisations de dépense (allowances) illimitées et les bénéficiaires (spenders) inconnus. En mode AirGap, la requête non signée passe ensuite au téléphone, où elle est de nouveau décodée à partir des octets, présentée, puis signée uniquement après que vous avez appuyé sur Accept (Accepter). La signature revient, l’ordinateur la diffuse, et la page reçoit un hash de transaction. Un changement de chaîne suit le même chemin, et c’est le portefeuille qui décide s’il est autorisé.
Pour un portefeuille dont la seed vit sur l’ordinateur, c’est l’ordinateur qui signe après le même contrôle, dans la fenêtre du portefeuille plutôt que sur le téléphone.
Ce qu’une page compromise peut faire, et ce qu’elle ne peut pas faire
Une page compromise, ou un script empoisonné dans le navigateur, peut vous mentir. Elle peut afficher une transaction et en demander une autre. Elle peut faire passer un claim pour une vérification. Ce qu’elle ne peut pas faire, c’est signer. La décision se prend là où sont les clés, après que vous avez lu la requête telle que le téléphone l’a décodée. L’approbation d’un drainer, qui passe sans encombre dans une pop-up de navigateur, arrive sur le téléphone pour ce qu’elle est : une autorisation de dépense, au profit de ce bénéficiaire, pour ce montant. Si elle est illimitée, le téléphone le dit.
C’est le compromis que nous voulions : la commodité d’un portefeuille de navigateur pour la page, sans l’exposition qui va avec pour vous.
La série complète
- Partez du principe que l’ordinateur est compromis
- Mass Adoption Security : l’appareil de signature est un téléphone que vous possédez déjà
- Trois façons de franchir l’air gap : QR codes, Bluetooth LE et NFC
- Invisible sur les ondes : un appareil de signature qu’aucun scan ne repère
- On ne fait jamais confiance au transport
- Ce que vous montre le téléphone : l’analyse des transactions sur l’appareil de signature
- Le téléphone tient son propre registre
- Le coffre-fort de votre ordinateur : Argon2id et un profil qui résiste au cassage
- Des dApps sans portefeuille de navigateur
- Un serveur MCP avec des règles : des agents IA encadrés par des limites
- Un seul portefeuille protégé pour tout
- Petit et natif : C++, aucun runtime JavaScript, de la station de travail au Raspberry Pi