Clear signing : Cyfrin relève des champs masqués
Fin juillet 2026, le cabinet d’audit Cyfrin a classé plusieurs défauts du clear signing de 1inch au niveau de gravité « élevé ». Ainsi, certains champs, dont le contrat qui reçoit les fonds engagés par l’utilisateur, n’apparaissent pas à l’écran du wallet. Au 12 octobre, ces règles d’affichage figurent toujours dans le registre public. Elles couvrent le routeur 1inch V6 sur 13 réseaux, dont Ethereum.

En bref
- 13 réseaux : c’est le nombre de blockchains, Ethereum compris, sur lesquelles s’applique le descripteur audité du routeur 1inch V6.
- 2 défauts « élevés » : Cyfrin les a relevés dans ce descripteur, dont un champ qui désigne le contrat recevant vos fonds.
- Aucune attestation : les descripteurs du routeur V6 n’ont reçu aucune validation d’audit dans le registre.
- 12 mai 2026 : ce jour-là, Ledger a confié le clear signing à la Fondation Ethereum.
Le clear signing, une réponse au piratage de Bybit
En février 2025, le piratage record de Bybit a coûté environ 1,5 milliard de dollars à la plateforme, selon le FBI. Le FBI attribue par ailleurs ce vol à la Corée du Nord. Selon l’analyse de CertiK, l’interface de Safe{Wallet} affichait une transaction légitime. Les données envoyées au Ledger pour signature étaient pourtant différentes. Le PDG de Bybit a d’ailleurs dit ne pas les avoir vérifiées sur l’écran de l’appareil. CertiK parle ici de signature à l’aveugle, ou blind signing.
Le clear signing répond à ce problème. Il traduit ainsi les données d’une transaction en langage clair, sur l’écran de votre wallet crypto. Ledger l’a lancé en 2023 puis l’a formalisé dans la proposition de standard ERC-7730. Ensuite, le 12 mai 2026, l’entreprise en a confié la gestion à la Fondation Ethereum. MetaMask, Trezor, WalletConnect et Cyfrin participent au groupe de travail.
Le système repose sur des fichiers publics, appelés descripteurs. Chacun indique notamment au wallet quels champs d’une transaction afficher, et sous quelle étiquette. Un champ marqué « never » n’apparaît donc jamais à l’écran.
Le contrat qui reçoit vos fonds peut rester invisible
1inch est un agrégateur d’échanges décentralisés. Cyfrin a audité plusieurs de ses descripteurs. Le ticket n° 2688 vise le descripteur principal du routeur V6. Il compte en effet deux constats de gravité élevée et trois de gravité moyenne, selon la classification de l’auditeur.
Le premier constat porte sur le paramètre clipperExchange, masqué à l’écran. Il désigne pourtant le contrat qui reçoit les fonds de l’utilisateur. C’est l’appelant de la fonction qui fournit ce paramètre. Selon Cyfrin, le wallet affiche donc un écran d’échange normal, sans montrer le contrat qui reçoit les fonds.
Le second constat élevé vise le champ args, lui aussi masqué. Dans certains modes d’exécution d’un ordre, il peut contenir l’adresse qui reçoit l’actif acheté. L’utilisateur peut alors voir des montants exacts, tandis que l’actif part vers une adresse qu’il ne voit pas, selon l’auditeur.
Deux constats moyens concernent aussi l’affichage. D’abord, le montant d’un ordre apparaît toujours comme un montant « à vendre ». Or un mode du routeur le traite comme un montant à acheter. Ensuite, la fonction permitAndCall masque une autorisation de dépense qui peut préciser le jeton, l’adresse autorisée à dépenser, le montant et l’échéance. Enfin, le dernier constat moyen porte sur des déploiements que Sourcify n’avait pas encore vérifiés.
Le clear signing de 1inch inchangé sur 13 réseaux
Un ticket voisin, le n° 2690, visait la version zkSync du routeur. Ce descripteur de neuf lignes renvoyait au même fichier commun que la version principale. Les mainteneurs l’ont retiré du registre le 22 septembre. Le motif tient en effet à la vérification. Sourcify, l’outil de contrôle du code utilisé par le registre, ne sait pas encore vérifier le code compilé pour zkSync. Ce retrait ne corrige donc pas les règles d’affichage.
Or la branche principale du registre, consultée le 12 octobre, contient toujours ces règles. Le fichier commun et le descripteur principal datent, dans leur version actuelle, du 10 avril 2026. Ils s’appliquent au routeur V6 sur 13 réseaux, dont Ethereum, Arbitrum, Base, BNB Chain et Polygon. Le descripteur de la version précédente, V5, masque aussi clipperExchange sur six réseaux.
Un troisième audit, le n° 2689, concerne les ordres signés hors chaîne, au format EIP-712. Le descripteur y masque le champ makerTraits. Il peut contenir la date d’expiration de l’ordre et une restriction sur l’adresse autorisée à l’exécuter. Cyfrin classe également ce constat en gravité élevée.
Une attestation ne garantit pas le sens affiché
Le registre prévoit un garde-fou, l’attestation. Le projet de standard ERC-8176 définit ce mécanisme. Il permet à un auditeur de signer un descripteur qu’il a examiné. Le 17 août, le registre a intégré des attestations de Cyfrin pour 181 descripteurs.
Dans le dossier 1inch, seules les anciennes versions V3 et V4 du routeur en portent une. En revanche, les descripteurs V6 n’en ont pas. Dans l’audit n° 2689, Cyfrin relève l’absence de vérification du code sur cinq réseaux : « la condition d’attestation n’est pas remplie » (traduction de la rédaction). ERC-8176 laisse ensuite à chaque wallet le choix des auditeurs auxquels il se fie.
Toutefois, même attesté, un descripteur peut induire en erreur. Le projet ERC-8176 l’écrit dans sa section consacrée aux limites du dispositif.
La vérification de la signature ne valide pas l’exactitude sémantique.
ERC-8176, Descriptor Attestations for ERC-7730, projet de standard
Une autre limite tient aux contrats évolutifs, ou proxys. Un proxy garde son adresse, mais son code peut changer. Une analyse publiée en septembre recensait 80 descripteurs liés à des proxys sur 382, au 5 septembre. Les mainteneurs ont alors choisi de les conserver et de traiter le problème dans le standard lui-même.
Ce que le clear signing affiche, et ce qu’il omet
Le registre corrige aussi des défauts. Le 25 septembre, un correctif a visé un autre descripteur de 1inch, pour les ordres à cours limité de son Limit Order Protocol v2. Selon son message, les wallets qui reconnaissent les descripteurs par le type signé ne pouvaient pas l’appliquer. Les utilisateurs signaient donc ces ordres « à l’aveugle ».
Pour l’utilisateur, un écran lisible n’affiche que les champs retenus par le descripteur. Ainsi, l’absence d’un destinataire ou d’une date d’expiration ne se voit pas. Cyfrin recommande d’afficher ces champs ou de retirer la description. Dans ce second cas, le wallet revient à une signature brute, sans donner une impression de clarté. Aucun des tickets consultés ne fait état d’une perte d’utilisateur liée à ces descripteurs. Notre guide sur le wallet crypto le plus sécurisé détaille les autres protections disponibles.
Au 12 octobre, les deux descripteurs V6 audités encore présents dans le registre restent inchangés. Le troisième, pour zkSync, a quitté le registre sans correction. Pour le champ makerTraits, la correction proposée par Cyfrin modifie une seule ligne du fichier, pour rendre le champ visible. [À COMPLÉTER : réponse datée de 1inch, de Cyfrin ou des mainteneurs du registre, ou mention des sollicitations restées sans réponse] Côté proxys, la proposition n° 1738 n’est pas encore intégrée au standard. Kaan Uzdoğan, coauteur d’ERC-7730, a indiqué sur GitHub qu’il attendait d’autres relectures avant de l’approuver.
Maximisez votre expérience Cointribune avec notre programme 'Read to Earn' ! Pour chaque article que vous lisez, gagnez des points et accédez à des récompenses exclusives. Inscrivez-vous dès maintenant et commencez à cumuler des avantages.
Independent author, specialized in decentralized artificial intelligence and crypto ecosystems. I analyze projects by what they actually do, not by the noise around them. Openly a supporter of the Qubic project: my articles about Qubic and its direct competitors carry a disclosure.
Les propos et opinions exprimés dans cet article n'engagent que leur auteur, et ne doivent pas être considérés comme des conseils en investissement. Effectuez vos propres recherches avant toute décision d'investissement.