Les portefeuilles matériels protègent les clés, mais ils ne protègent les fonds que si leur écran montre ce qui est signé. Les calldata complexes, les messages EIP-712 destinés à des contrats inconnus et les transactions Safe apparaissent souvent sous forme de condensats ou d’hexadécimal. Les attaquants qui contrôlent le logiciel hôte ou un front-end web en profitent : le vol du portefeuille Safe de Bybit en février 2025 et de nombreux détournements de fonds par hameçonnage à la signature permit ont fonctionné en faisant approuver aux utilisateurs autre chose que ce qu’affichait leur navigateur.
Le remède est la signature en clair (clear signing) : les appareils décodent les calldata et les données typées en champs à l’aide de métadonnées de confiance. ERC-7730 définit pour cela un format de descripteur JSON, avec un registre public maintenu au sein de l’organisation Ethereum. Tant qu’un appareil ne sait pas décoder une transaction, vérifiez son condensat sur une machine indépendante.