Chargement des prix…

Attaques supply chain sur extensions navigateur crypto

Une seule mise à jour malveillante d’extension peut vider votre wallet. Voici comment ces attaques se déroulent et les réflexes pour s’en protéger.

Attaques supply chain sur extensions navigateur crypto

Qu’est-ce qu’une attaque de chaîne d’approvisionnement visant une extension de navigateur ?

Chaque extension de navigateur que vous installez, y compris les portefeuilles crypto comme MetaMask ou Phantom, est un petit programme qui s’exécute avec de larges autorisations dans votre navigateur. Une attaque de chaîne d’approvisionnement vise le pipeline de livraison du logiciel plutôt que le portefeuille lui-même. Au lieu de casser votre cryptographie, l’attaquant empoisonne quelque chose auquel votre portefeuille, ou le développeur de votre portefeuille, fait confiance. Ce quelque chose peut être une bibliothèque de code, une mise à jour logicielle, un nom de domaine ou le compte éditeur qui publie les mises à jour dans la boutique.

Lorsque l’élément empoisonné est diffusé, il arrive sur votre machine comme une mise à jour de routine que vous n’avez aucune raison de remettre en question. L’extension conserve son apparence et son comportement habituels, mais elle contient désormais une petite routine supplémentaire. Cette routine peut lire le contenu de n’importe quelle page web, réécrire les détails d’une transaction avant qu’ils n’atteignent votre portefeuille ou remplacer discrètement l’adresse de destination d’une transaction que vous vous apprêtez à signer. Pour un utilisateur ETH ou SOL, cette simple ligne de code injectée suffit à vider un hot wallet en une seule approbation.

L’expression « chaîne d’approvisionnement » vient de la manière dont les logiciels modernes sont construits. Le portefeuille que vous utilisez est rarement écrit à partir de zéro. Il intègre des centaines de packages open source provenant de registres comme npm, et ces packages en intègrent d’autres. Chaque maillon de cette chaîne est un point de compromission possible, et le fournisseur du portefeuille n’est qu’un des nombreux acteurs dont vous approuvez implicitement la sécurité lorsque vous cliquez sur « Installer ».

Comment les attaquants détournent réellement la chaîne

Il existe plusieurs schémas pratiques, et la plupart des vols de crypto observés dans le monde réel en combinent deux ou trois. Comprendre les mécanismes est le seul moyen de reconnaître les signaux d’alerte avant que vos fonds ne bougent, et non après.

Confusion de dépendances dans le registre npm

La confusion de dépendances exploite une particularité de la façon dont les gestionnaires de packages résolvent les noms. Lorsqu’un développeur saisit internal-wallet-utils dans son script de build, le gestionnaire de packages vérifie d’abord dans le registre public npm si un package portant ce nom existe déjà, et privilégie le numéro de version le plus élevé. Les attaquants surveillent les noms de packages internes qui fuitent via des dépôts publics, des offres d’emploi et des bundles JavaScript, puis publient un package public portant le même nom et un numéro de version beaucoup plus élevé. Lors du build suivant, l’équipe du portefeuille récupère la copie publique malveillante au lieu de sa copie privée.

Ce n’est pas théorique. Des incidents majeurs chez des entreprises comme Mercedes-Benz et l’U.S. Army ont montré à quel point l’exposition est répandue. Pour un portefeuille crypto, le package compromis serait livré dans le cadre de la prochaine mise à jour légitime, avec la propre signature numérique du fournisseur du portefeuille et un journal de modifications familier. Les utilisateurs n’auraient aucun moyen de savoir que quelque chose cloche.

Typosquatting et collisions de noms

Le typosquatting est plus simple et tout aussi efficace. L’attaquant publie un package dont le nom est presque identique à celui d’un package populaire, en espérant qu’un développeur fera une faute de frappe dans l’import. ethers.js devient ethhers, @solana/web3.js devient @solannna/web3.js, lodash devient lodahs. Si une équipe de portefeuille inclut par erreur ce sosie, l’attaquant introduit alors du code dans le build de production.

L’écosystème npm compte des dizaines de millions de packages et évolue en permanence. Les lockfiles automatisés et les builds reproductibles réduisent le risque, mais ils n’aident que si l’équipe du portefeuille les utilise correctement et si un chercheur en sécurité examine chaque dépendance. Les petites équipes n’ont souvent pas ce luxe.

Mises à jour malveillantes via des comptes éditeurs compromis

Les attaques les plus spectaculaires sont venues d’identifiants d’éditeurs volés. Dans un cas bien documenté, des attaquants ont obtenu l’accès au compte Chrome Web Store d’un développeur et ont publié une mise à jour malveillante pour un gestionnaire de mots de passe populaire qui servait aussi d’outil adjacent aux portefeuilles. La mise à jour semblait identique à la vraie, conservait toutes les anciennes fonctionnalités et ajoutait un script caché qui exfiltrait les données visibles par l’extension.

Les extensions de portefeuilles crypto sont une cible particulièrement attractive, car leurs utilisateurs détiennent des actifs de valeur. Une seule mise à jour détournée d’un portefeuille comptant des centaines de milliers d’installations peut rapporter des millions en ETH ou SOL aux attaquants avant que quiconque ne s’en aperçoive. La boutique d’extensions n’a aucun moyen réel d’inspecter le comportement d’une mise à jour à l’exécution, si bien que la version malveillante est diffusée dès qu’elle est téléversée.

Usurpation d’identité dans les boutiques de navigateur

Même sans compromission réelle d’un éditeur, les attaquants clonent des extensions de portefeuilles légitimes sous des noms ressemblants, achètent de faux avis cinq étoiles et paient des publicités de recherche afin que leur fiche apparaisse au-dessus de la vraie. La victime installe ce qui ressemble à MetaMask ou Phantom, saisit sa seed phrase dans une interface de phishing parfaitement conçue, et c’est la fin du portefeuille.

Ce que garantit réellement le statut de « publisher vérifié »

Le badge vert ou bleu « vérifié » dans le Chrome Web Store ou sur le site Firefox Add-ons est l’un des signaux de confiance les plus mal compris dans les logiciels. Voici ce qu’il prouve réellement, et ce qu’il ne prouve pas.

Le badge confirme que le publisher derrière l’extension a vérifié son identité auprès de la boutique, généralement en payant de petits frais et en confirmant le contrôle d’un domaine ou d’une entité commerciale. Il vous indique que l’extension listée provient bien de l’entreprise dont le nom apparaît sur la fiche. Il ne vous dit pas que cette entreprise a un historique de sécurité parfait. Il ne vous dit pas que la mise à jour d’aujourd’hui contient le même code que celle d’hier. Il ne vous dit pas que les dépendances open-source intégrées à l’extension n’ont pas été détournées. Il ne vous dit rien sur l’intégrité des identifiants du développeur lui-même, qui peuvent toujours être hameçonnés, volés ou vendus.

Pour les utilisateurs crypto, la conséquence pratique est inconfortable. Même un wallet d’une équipe connue et vérifiée peut diffuser une version malveillante demain si un maillon de la chaîne d’approvisionnement cède. Le badge vérifié est un filtre utile contre les arnaques évidentes, mais ce n’est pas le type de garantie qui vous permet de sauter le reste de cette checklist.

Les risques réalistes auxquels vous êtes réellement exposé

Avant de lister les défenses, il vaut la peine d’être honnête sur les modes de défaillance. Les attaques de chaîne d’approvisionnement ne sont pas des cas limites hypothétiques. Elles constituent une catégorie active et bien financée de vol crypto, et certains schémas reviennent dans les analyses post-mortem.

Le plus grand risque, à lui seul, est de signer une transaction dont l’adresse de destination a été remplacée. Une extension malveillante lit la page, détecte que vous êtes sur le point d’envoyer 1 ETH à une adresse légitime, puis réécrit silencieusement cette adresse pour la remplacer par une adresse contrôlée par l’attaquant. Le montant, les frais de gas et l’interface visible semblent parfaitement corrects. Vous cliquez sur confirmer et les fonds sont transférés.

Le deuxième risque est la capture de la seed phrase. Une extension empoisonnée peut lire tout ce qui se trouve dans le DOM de la page, y compris tout formulaire HTML où un utilisateur imprudent a collé ou saisi une phrase de récupération. Une fois la phrase exfiltrée, le wallet est compromis pour toujours, quelles que soient les mesures défensives futures.

Le troisième risque est celui des approbations à l’aveugle. De nouvelles normes de tokens, y compris le mécanisme EIP-7702 mis en production pour Ethereum en 2025 et qui continue de mûrir en 2026, permettent aux EOA (externally owned accounts, les wallets ordinaires que vous utilisez) de déléguer temporairement le contrôle à du code de smart contract pendant une transaction. Une extension malveillante peut en abuser pour regrouper une approbation qui permet à une logique contrôlée par l’attaquant de vider votre wallet dans le même bloc. La transaction indique toujours « approve », mais ce qui est approuvé, c’est la capacité de déplacer chaque token que vous détenez.

Le quatrième risque est la mise à jour « presque légitime ». Même après le retrait d’une extension détournée de la boutique, les dégâts persistent pour chaque utilisateur qui l’a déjà mise à jour automatiquement. Les retraits par les boutiques sont lents, et les caches des navigateurs continuent parfois d’exécuter la mauvaise version longtemps après son signalement. Au moment où l’avertissement vous parvient, l’attaquant a généralement déjà fait transiter les fonds par un mixer.

Se défendre : une checklist pratique

Aucune des étapes ci-dessous n’est une solution miracle. L’objectif est de les superposer afin qu’une compromission à une étape ne se transforme pas en perte totale.

Auditez ce qui est réellement installé

Ouvrez la liste des extensions de votre navigateur et examinez chaque entrée une par une. Pour chacune, posez-vous trois questions : est-ce que je l’utilise encore, est-ce que je sais qui l’a créée, et a-t-elle besoin d’accéder à tous les sites que je visite. Les extensions qui demandent à « lire et modifier toutes vos données sur les sites web que vous visitez » doivent être considérées comme ayant effectivement votre mot de passe bancaire. Si vous ne pouvez pas répondre « oui, je fais confiance à ce développeur avec ce niveau d’accès », supprimez l’extension.

Spécifique à la crypto : conservez l’extension de wallet que vous utilisez réellement et, au maximum, un ou deux outils auxiliaires au périmètre très limité. Chaque extension supplémentaire est une autre chaîne d’approvisionnement dont vous héritez.

Épinglez les extensions critiques et examinez les mises à jour

La plupart des navigateurs vous permettent de désactiver les mises à jour automatiques extension par extension. Pour votre wallet et toute extension qui touche aux clés ou aux transactions, désactivez la mise à jour automatique et examinez manuellement le changelog avant d’installer une nouvelle version. Comparez le numéro de version à la page officielle des releases GitHub du projet, et non au lien dans la boutique, qui peut être usurpé.

Si vous avez un profil technique, installez les extensions depuis leur code source plutôt que depuis la boutique, avec un workflow de chargement non empaqueté. Cela vous permet d’inspecter le build, de vérifier les checksums par rapport aux hash publiés par l’équipe, et de figer une version connue comme saine. Des outils comme Extension Auditor pour Chrome peuvent lister chaque permission réellement demandée par une extension par rapport à ce qu’elle utilise visiblement, ce qui en fait un puissant détecteur de signaux d’alerte.

Vérifiez le publisher, le package et le chemin

Pour chaque extension critique, identifiez la source canonique : le dépôt GitHub officiel, le site web officiel, l’entrée officielle du publisher vérifié. Ajoutez-les à vos favoris, et n’installez jamais depuis un résultat de recherche. Si vous voyez une publicité pour « MetaMask » au-dessus de la vraie fiche MetaMask, partez du principe que c’est une arnaque, car c’est généralement le cas.

Pour les utilisateurs ETH et SOL, cela signifie aussi se méfier des modules complémentaires de wallet qui promettent « l’optimisation du gas », la « protection MEV » ou des « boosts d’airdrop ». Beaucoup sont des wrappers autour de vrais wallets qui ajoutent précisément la capacité de lire et de réécrire les pages qu’un attaquant rechercherait.

Utilisez un hardware wallet pour la signature finale

C’est la défense la plus efficace contre toute compromission au niveau du navigateur, y compris une attaque réussie de chaîne d’approvisionnement. Un hardware wallet, comme un appareil Ledger ou Trezor, conserve vos clés privées dans un élément sécurisé que le navigateur et toutes ses extensions ne peuvent pas lire. Lorsque vous le connectez à MetaMask, Phantom ou Rabby, l’extension assemble la transaction et l’envoie à l’appareil. L’appareil affiche l’adresse de destination, le montant et tout appel de contrat sur son propre écran de confiance. Vous confirmez physiquement, par une pression sur un bouton, sur un matériel isolé de votre navigateur.

Cela casse toutes les attaques courantes par extension. Même si une extension malveillante remplace l’adresse de destination dans le navigateur, l’adresse affichée sur le hardware wallet ne correspondra pas. Vous voyez l’écart avant de signer, et les fonds restent en place. Même une extension qui capture des seed phrases n’apprend rien, car la phrase ne quitte jamais l’appareil matériel.

Le compromis est la friction. Les hardware wallets coûtent de l’argent, ajoutent quelques secondes à chaque transaction et nécessitent parfois des mises à jour de firmware. Pour tout solde suffisamment important pour vous faire mal, ce compromis en vaut très largement la peine.

Adoptez une bonne hygiène des approbations

Quelle que soit la façon dont votre wallet signe, n’approuvez jamais d’allocations illimitées de tokens. Lorsqu’une dApp demande l’autorisation de dépenser vos USDC ou d’autres tokens ERC-20, définissez un plafond personnalisé qui correspond à ce que vous avez réellement l’intention de transacter. Révoquez périodiquement les anciennes allocations à l’aide d’un outil comme le vérificateur d’approbations d’Etherscan ou Revoke.cash pour ETH, et d’explorateurs similaires pour les tokens SOL.

Soyez particulièrement prudent avec le nouveau flux de délégation EIP-7702, qui est devenu une partie de l’expérience grand public d’Ethereum en 2025 et se déploie dans les wallets en 2026. Une délégation permet à un EOA d’agir comme un smart account pendant la durée d’une transaction, ce qui est pratique pour le sponsoring du gas et les approbations groupées, mais donne aussi au contrat délégué la capacité de déplacer les actifs pour lesquels vous signez. Lisez le résumé lisible par un humain affiché par votre wallet, confirmez le contrat auquel la délégation est accordée et évitez de signer des délégations sur des sites inconnus.

Séparez les fonds hot, warm et cold

Ne gardez pas l’intégralité de votre pile ETH ou SOL dans un wallet de navigateur. Utilisez une configuration par niveaux : un petit hot wallet pour le trading actif et l’exploration de dApps, un warm wallet pour les avoirs de taille moyenne, et un cold wallet sécurisé par matériel pour l’épargne à long terme. Les fonds ne circulent que vers le bas, jamais vers le haut, du cold vers le hot. Si une attaque de chaîne d’approvisionnement vide votre hot wallet, la perte est bornée.

Comment garder une longueur d’avance sur les menaces au niveau des extensions

Les attaques de chaîne d’approvisionnement visant les extensions de navigateur évoluent rapidement. De nouveaux incidents npm, de nouveaux schémas d’usurpation et de nouvelles normes de wallet comme EIP-7702 déplacent la surface de menace chaque trimestre. Suivre quelles extensions ont été compromises, quels publishers ont perdu des identifiants et quels incidents de dépendances concernent les wallets que vous utilisez réellement est un travail de recherche à temps plein si vous le faites manuellement.

Zippfeed fait remonter les titres de sécurité crypto avec une notation du sentiment (bullish, neutral ou bearish) et une note d’importance, afin que vous puissiez repérer une extension signalée ou un détournement npm majeur avant qu’il n’atteigne la file de mises à jour de votre navigateur.

Questions fréquentes

Questions fréquemment posées

Est-il sûr d’utiliser un wallet en extension de navigateur comme MetaMask ou Phantom ?
Pour de petits soldes et une utilisation active de dApps, oui, avec des réserves. Les wallets en extension de navigateur sont pratiques et raisonnablement sûrs s’ils sont téléchargés depuis la fiche de l’éditeur vérifié et utilisés avec un hardware wallet pour signer. Pour des avoirs importants, considérez l’extension comme une interface plutôt que comme un coffre, et conservez l’essentiel de vos actifs sur un cold wallet sécurisé par hardware wallet. Il s’agit de conseils généraux de sécurité, pas d’une recommandation financière personnelle.
Comment fonctionne réellement une attaque supply chain contre une extension de navigateur ?
Les attaquants compromettent un maillon de la chaîne de distribution logicielle, comme les identifiants npm d’un développeur, une dépendance de code ou un compte éditeur, puis diffusent une mise à jour malveillante qui semble normale. L’extension exécute alors du code attaquant avec un accès complet à vos onglets de navigateur, ce qui suffit pour remplacer des adresses de transaction ou capturer des saisies sensibles. La cryptographie du wallet reste intacte, c’est la confiance accordée au logiciel qui l’entoure qui est exploitée.
Dois-je activer les mises à jour automatiques de mon extension de wallet crypto ?
Pour votre wallet principal, il est plus sûr de désactiver les mises à jour automatiques et de consulter manuellement les journaux de modifications avant d’installer une nouvelle version. Cela ajoute une étape, mais vous permet de comparer les numéros de version avec les releases GitHub officielles du projet, de repérer des changements suspects et d’éviter d’être parmi les premières victimes si une mise à jour piratée passe la modération du store. Pour les extensions moins critiques, la mise à jour automatique convient.
Quel est le risque lié à EIP-7702 dont on parle pour 2026 ?
EIP-7702, déployé sur Ethereum en 2025 et adopté progressivement par les wallets jusqu’en 2026, permet à votre compte détenu en propre de déléguer l’exécution à du code de smart contract pendant la durée d’une transaction. C’est utile pour le sponsoring du gas et les opérations groupées, mais cela signifie aussi qu’une seule signature peut accorder un contrôle temporaire à un contrat. Lisez attentivement la cible de délégation, ne signez que sur des dApps fiables et privilégiez la confirmation via hardware wallet afin que le résumé lisible soit vérifié sur un écran de confiance.
Tokens associés
$ETH $SOL