Article 12 sur 123 min de lecture

Petit et natif : C++, aucun runtime JavaScript, de la station de travail au Raspberry Pi

Un portefeuille est un programme de sécurité. Il doit être assez petit pour être audité, assez rapide pour qu’on l’oublie, et dépourvu de pièces mobiles qui ne lui appartiennent pas.

Une puce C++ au-dessus d’un écran, d’un ordinateur portable et d’un ordinateur monocarte
Un binaire natif par plateforme.
Sur cette page

C++ et Qt

AirNox Wallet est écrit en C++ avec le framework Qt. La cryptographie, le code des chaînes, les constructeurs de transactions et le contrôle des requêtes vivent tous dans un seul noyau natif, compilé pour chaque plateforme. L’interface est native, elle aussi. Aucun navigateur intégré n’affiche le portefeuille et aucun moteur de script ne le fait tourner.

Cela a trois conséquences que vous pouvez ressentir. Le portefeuille démarre en un instant. Au repos, il reste discret, avec une empreinte qui laisse la machine à ses autres tâches. Et il n’y a sous lui aucun runtime qui se met à jour tout seul, charge des paquets ou exécute du code récupéré on ne sait où.

Ce qui n’est pas dedans

Aucun runtime JavaScript. Une grande partie des compromissions de portefeuilles passe par les écosystèmes de paquets et l’injection de scripts. Un portefeuille sans moteur de script n’est pas une cible pour elles.

Aucune web view. L’interface est dessinée par le framework, pas par un composant de navigateur. Il n’y a aucune page dans laquelle injecter quoi que ce soit.

Aucune télémétrie, aucune analyse d’usage, aucun traqueur. Le portefeuille parle aux nœuds de la blockchain et aux fournisseurs de swaps et de bridges que vous choisissez d’utiliser. Il ne nous parle pas. Rien ne remonte vers nous, et il n’y a aucun compte à créer.

Quatre tuiles de plateformes pour Windows, Linux, macOS et Raspberry Pi, et trois éléments barrés : aucun runtime JavaScript, aucune web view, aucune télémétrie
Où il tourne, et ce qu’il laisse de côté.

Plateformes

L’application de bureau tourne sur Windows, Linux et macOS, avec un build natif pour chacun. Le même code tourne sur du matériel de classe Raspberry Pi, ce qui fait d’AirNox une solution adaptée aux installations embarquées : un terminal de bureau de change, une borne, un poste de signature en back-office. Une petite carte avec un écran, un lecteur NFC USB et le portefeuille forme un point d’opération complet, prêt pour l’air gap, avec les clés sur un téléphone que l’on approche du lecteur.

Un seul noyau de signature

L’application mobile et l’application de bureau partagent le même noyau. Le code qui dérive les clés, construit une transaction et la décode pour l’écran est le même sur les deux appareils, compilé pour chacun. Il y a une seule implémentation de chaque chaîne à auditer, pas deux qui doivent concorder, et une correction d’un côté est une correction des deux côtés.

Pourquoi c’est important

Petit et natif, ce n’est pas une question de goût. Chaque dépendance est un endroit où l’erreur de quelqu’un d’autre devient la vôtre. Chaque runtime est une surface d’attaque. Chaque appel réseau qui n’est pas strictement nécessaire est une fuite de quelque chose. Un portefeuille qui se résume à un seul programme natif, et qui ne parle qu’aux nœuds que vous lui indiquez, est un portefeuille dont vous pouvez comprendre le fonctionnement. C’est l’exigence que nous appliquons à tout le produit, de l’appareil de signature (signer) sur le téléphone jusqu’à la fenêtre sur votre bureau.

La série complète

  1. Partez du principe que l’ordinateur est compromis
  2. Mass Adoption Security : l’appareil de signature est un téléphone que vous possédez déjà
  3. Trois façons de franchir l’air gap : QR codes, Bluetooth LE et NFC
  4. Invisible sur les ondes : un appareil de signature qu’aucun scan ne repère
  5. On ne fait jamais confiance au transport
  6. Ce que vous montre le téléphone : l’analyse des transactions sur l’appareil de signature
  7. Le téléphone tient son propre registre
  8. Le coffre-fort de votre ordinateur : Argon2id et un profil qui résiste au cassage
  9. Des dApps sans portefeuille de navigateur
  10. Un serveur MCP avec des règles : des agents IA encadrés par des limites
  11. Un seul portefeuille protégé pour tout
  12. Petit et natif : C++, aucun runtime JavaScript, de la station de travail au Raspberry Pi

Rejoignez la liste d’attente

Laissez votre adresse e-mail et nous vous enverrons les annonces de sortie. Rien d’autre.