Titre original : « Christmas Heist | Analyse du piratage de l’extension Trust Wallet »
Source : SlowMist Technology
Contexte
Tôt ce matin, heure de Pékin, @zachxbt a publié un message dans le 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 navigateur Trust Wallet présente un risque de sécurité, exhortant tous les utilisateurs de la version 2.68 à désactiver immédiatement cette version et à mettre à niveau vers la version 2.69.
Tactiques techniques
Après réception de ces informations, l’équipe de sécurité de SlowMist a rapidement analysé les échantillons pertinents. Comparons d’abord le code source 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é identifié comme suit :
Le code malveillant parcourt tous les portefeuilles de l’extension, envoie une requête de « récupération de 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 en utilisant le mot de passe ou le 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 à 02h28 (UTC), avec le bureau d’enregistrement : NICENIC INTERNATIONA.
Le 21 décembre 2025, les premiers enregistrements de requêtes ciblant api.metrics-trustwallet[.]com ont commencé à apparaître :
Cette chronologie correspond étroitement à la date d’implantation de la porte dérobée, le 22 décembre, dans le code.
Nous avons poursuivi l’analyse et le traçage du code pour reconstituer l’ensemble du processus d’attaque :
L’analyse dynamique montre qu’après le déverrouillage du portefeuille, les informations de phrase de récupération de l’attaquant peuvent être vues insérées dans l’erreur au sein de R1.
La source de ces données d’erreur est obtenue via un appel à la fonction GET_SEED_PHRASE. Actuellement, Trust Wallet prend en charge deux méthodes de déverrouillage : le mot de passe et le passkeyPassword. L’attaquant obtient le mot de passe ou le passkeyPassword lors du déverrouillage, appelle ensuite 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 « errorMessage ».
Voici le code qui utilise emit pour appeler GetSeedPhrase, récupère les données de la phrase de récupération et les insère dans l’erreur.
L’analyse du trafic réalisée avec BurpSuite montre qu’après obtention de 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 à ce processus, le vol des phrases de récupération/clés privées est accompli. De plus, l’attaquant est probablement familier avec le code source de l’extension, exploitant la plateforme d’analyse produit full-link open-source 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 indiquent 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 valent approximativement 3 millions USD. Après le vol des actifs, le pirate en a transféré et échangé une partie en utilisant divers exchanges 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 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’agit d’une attaque APT sophistiquée, et l’attaquant a pu obtenir 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 de portefeuille Trust Wallet, vous devez immédiatement vous déconnecter d’Internet comme prérequis pour toute investigation et opération.
2. Exportez immédiatement vos clés privées/phrase de récupération et désinstallez l’extension de portefeuille Trust Wallet.
3. Après avoir sauvegardé vos clés privées/phrase de récupération, transférez vos fonds vers un autre portefeuille dès que possible.
