Titre original : « Christmas Heist | Analyse du piratage de l’extension Trust Wallet »
Source originale : SlowMist Technology
Contexte
Tôt ce matin, heure de Pékin, @zachxbt a publié un message dans un canal indiquant : « Certains utilisateurs de Trust Wallet ont signalé que les fonds de leurs adresses de portefeuille ont été volés au cours des dernières heures. » Par la suite, le compte X officiel de Trust Wallet a également publié un communiqué officiel confirmant que la version 2.68 de l’extension de navigateur Trust Wallet présente un risque de sécurité, conseillant à tous les utilisateurs de la version 2.68 de désactiver immédiatement cette version et de passer à la version 2.69.
Techniques et tactiques
Après réception de ces informations, l’équipe de sécurité de SlowMist a rapidement analysé les échantillons pertinents. Tout d’abord, comparons le code central des versions précédemment publiées 2.67 et 2.68 :
En comparant le code des deux versions, le code malveillant ajouté par le pirate a été découvert comme suit :
Le code malveillant parcourt tous les portefeuilles de l’extension, envoie une requête « récupérer la phrase de récupération » pour chaque portefeuille utilisateur afin d’obtenir la phrase de récupération chiffrée, et la déchiffre finalement à l’aide du mot de passe ou du `passkeyPassword` saisi par l’utilisateur lors du déverrouillage du portefeuille. Si le déchiffrement réussit, la phrase de récupération de l’utilisateur est envoyée au domaine de l’attaquant `api.metrics-trustwallet[.]com`.
Nous avons également analysé les informations du domaine de l’attaquant ; celui-ci a utilisé le domaine : metrics-trustwallet.com.
Après vérification, le domaine malveillant a été enregistré le 8 décembre 2025 à 02:28:18, avec le bureau d’enregistrement de domaine : NICENIC INTERNATIONAL.
Le 21 décembre 2025, les premiers enregistrements de requêtes ciblant api.metrics-trustwallet[.]com ont commencé :
Cette chronologie correspond étroitement à la date d’implantation de la porte dérobée, le 22.12, dans le code.
Nous avons poursuivi le suivi et l’analyse du code pour reconstituer l’ensemble du processus d’attaque :
Grâce à une analyse dynamique, on peut observer qu’après le déverrouillage du portefeuille, l’attaquant remplit les informations de la phrase de récupération dans l’erreur de R1.
La source de ces données d’erreur est obtenue via l’appel de la fonction GET_SEED_PHRASE. Actuellement, Trust Wallet prend en charge deux méthodes de déverrouillage : mot de passe et `passkeyPassword`. L’attaquant obtient le mot de passe ou le `passkeyPassword` lors du déverrouillage, puis appelle GET_SEED_PHRASE pour récupérer la phrase de récupération du portefeuille (les clés privées sont traitées de manière similaire), et place la phrase de récupération dans le champ « errorMessage ».
Voici le code qui utilise `emit` pour appeler GetSeedPhrase, récupérer les données de la phrase de récupération et les placer dans l’erreur.
L’analyse du trafic via BurpSuite montre qu’après avoir obtenu la phrase de récupération, celle-ci est encapsulée dans le champ `errorMessage` du corps de la requête et envoyée au serveur malveillant (https[://]api[.]metrics-trustwallet[.]com), ce qui est cohérent avec l’analyse précédente.
Grâce au processus ci-dessus, le vol des phrases de récupération/clés privées est accompli. De plus, l’attaquant semble familier avec le code source de l’extension, exploitant la plateforme d’analyse de produits open source à lien complet PostHogJS pour collecter les informations des portefeuilles utilisateurs.
Analyse des actifs volés
(https://t.me/investigations/296)
Sur la base des adresses du pirate divulguées par ZachXBT, nos statistiques montrent qu’au moment de la rédaction, le total des actifs volés sur la chaîne Bitcoin s’élève à environ 33 BTC (d’une valeur d’environ 3 millions USD), les actifs volés sur la chaîne Solana sont évalués à environ 431 USD, et les actifs volés sur le réseau principal Ethereum et diverses chaînes de Layer 2 sont évalués à environ 3 millions USD. Après le vol des fonds, le pirate a transféré et échangé certains actifs en utilisant divers échanges centralisés et ponts inter-chaînes.
Résumé
Cet incident de porte dérobée trouve son origine dans des modifications malveillantes du code source du dépôt de code interne de l’extension Trust Wallet (logique du service d’analyse), et non dans l’introduction de paquets tiers génériques falsifiés (tels que des paquets npm malveillants). L’attaquant a directement falsifié le code propre à l’application, en détournant la bibliothèque légitime PostHog pour rediriger les données d’analyse vers un serveur malveillant. Par conséquent, nous avons des raisons de croire qu’il s’agissait d’une attaque APT professionnelle, et l’attaquant a probablement obtenu le contrôle des permissions des appareils des développeurs liés à Trust Wallet ou des permissions de déploiement avant le 8 décembre.
Recommandations :
1. Si vous avez installé l’extension Trust Wallet, vous devriez immédiatement vous déconnecter d’Internet comme prérequis pour les investigations et opérations.
2. Exporter immédiatement les clés privées/phrases de récupération et désinstaller l’extension Trust Wallet.
3. Après avoir sauvegardé les clés privées/phrases de récupération, transférer promptement les fonds vers d’autres portefeuilles.
