Les attaques « red pill » sont une arnaque sournoise qui exploite un angle mort dans le fonctionnement de nombreux portefeuilles crypto : avant d'approuver une transaction sur une application, votre portefeuille vous affiche un aperçu de ce qui devrait se passer. Mais cet aperçu n'est qu'une simulation, et rien n'a jamais obligé la vraie transaction à y correspondre — un contrat malveillant peut donc passer entre les mailles du filet.
La nouvelle fonctionnalité de sécurité Added Protection de MetaMask change la donne. Lorsque vous effectuez des transactions via des applications, le résultat affiché dans l'aperçu est le résultat que vous obtenez — ou la transaction n'aboutit pas.
Les attaques red pill : l'arnaque qui se cache dans l'aperçu d'une transaction
Une attaque red pill est possible parce qu'un contrat malveillant peut détecter qu'il est en cours de simulation — il se comporte alors sagement, en vous affichant un résultat propre et inoffensif du type « Vous recevrez 0,1 ETH ». Vous signez, il s'exécute, et fait quelque chose de totalement différent : vider votre portefeuille, par exemple. Comme l'aperçu semblait parfaitement normal, vous n'aviez aucune raison de vous méfier.
Avant que vous signiez une transaction via une application, nous la simulons et vous affichons le résultat attendu — le même aperçu qu'aujourd'hui. Nous verrouillons ce résultat dans la transaction comme condition obligatoire. Lorsque la transaction s'exécute réellement, le résultat doit correspondre à ce qui vous a été présenté. Si ce n'est pas le cas — par exemple si un contrat red pill tente de faire autre chose que ce qu'il avait promis — la transaction échoue automatiquement, et vos fonds ne quittent jamais votre portefeuille.
Dans ce cas, la seule chose que vous perdez est les frais de réseau (gas) liés à la tentative, et vos fonds restent en sécurité. MetaMask ne facture rien pour cette fonctionnalité de sécurité, ni pour la transaction qui n'a pas abouti. Added Protection protège contre les résultats manipulés, et non contre les fluctuations ordinaires du marché. Elle fonctionne discrètement en arrière-plan, et s'avère particulièrement utile lorsque vous approuvez une transaction importante ou que vous interagissez avec un contrat que vous ne connaissez pas bien.
Une sécurité qui vous laisse le contrôle
Comme tout ce que nous développons, Added Protection vous protège davantage sans vous retirer le contrôle. MetaMask ne bloquera pas une transaction que vous souhaitiez effectuer — cette fonctionnalité de sécurité ne garantit qu'une seule chose : la transaction que vous approuvez sur une application Ethereum ou EVM est bien celle qui s'exécute réellement. Si vous préférez gérer vous-même les risques, vous pouvez désactiver la fonctionnalité à tout moment, directement depuis l'écran de confirmation. Le choix vous appartient toujours.
MetaMask Added Protection est désormais disponible sur l'extension (v13.45) pour les 13 réseaux EVM qui prennent en charge les smart accounts (EIP-7702), avec le mobile à venir.