Solana : réapparition de maliciels Bots dans l'écosystème : les fichiers de configuration cachent des pièges de fuite de Clé privée
Début juillet 2025, un utilisateur a demandé de l'aide à l'équipe de sécurité, demandant une analyse des raisons pour lesquelles ses actifs cryptographiques avaient été volés. L'enquête a révélé que l'incident provenait de l'utilisation par cet utilisateur d'un projet open source hébergé sur GitHub, déclenchant des comportements cachés de vol de pièces.
Récemment, d'autres utilisateurs ont vu leurs actifs volés en raison de l'utilisation de projets open source similaires et ont contacté l'équipe de sécurité. À cet égard, l'équipe a analysé plus en profondeur cette méthode d'attaque.
Processus d'analyse
Analyse statique
Grâce à l'analyse statique, un code suspect a été trouvé dans le fichier de configuration /src/common/config.rs, principalement concentré dans la méthode create_coingecko_proxy(). Cette méthode appelle d'abord import_wallet(), qui appelle ensuite import_env_var() pour obtenir la Clé privée.
La méthode import_env_var() est utilisée pour obtenir les informations de configuration des variables d'environnement dans le fichier .env. Si la variable d'environnement n'existe pas, elle entrera dans la branche de gestion des erreurs et continuera à consommer des ressources.
Les informations sensibles telles que la Clé privée sont stockées dans le fichier .env. La méthode import_wallet() pour obtenir la Clé privée vérifiera sa longueur:
Si inférieur à 85, imprimer un message d'erreur et continuer à consommer des ressources
Si supérieur à 85, convertissez la chaîne Base58 en un objet Keypair contenant la clé privée.
Ensuite, le code malveillant encapsule les informations de clé privée pour prendre en charge le partage multithread.
La méthode create_coingecko_proxy() décode les adresses URL malveillantes après avoir obtenu la clé privée. L'adresse réelle décodée est :
Le code malveillant convertit la clé privée en chaîne Base58, construit le corps de la requête JSON, puis l'envoie à l'URL ci-dessus via une requête POST, tout en ignorant le résultat de la réponse.
De plus, cette méthode inclut des fonctionnalités normales telles que l'obtention des prix, pour dissimuler des comportements malveillants. Le nom de la méthode a également été déguisé, ce qui est trompeur.
La méthode create_coingecko_proxy() est appelée au démarrage de l'application, située dans la phase d'initialisation du fichier de configuration de la méthode main() dans main.rs.
Selon l'analyse, l'adresse IP de ce serveur est située aux États-Unis.
Le projet a été mis à jour sur GitHub le 17 juillet 2025, les principaux changements étant concentrés dans le fichier de configuration config.rs sous le répertoire src. L'encodage de l'adresse du serveur de l'attaquant a été remplacé par un nouvel encodage.
Analyse dynamique
Pour observer visuellement le processus de vol, écrivez un script Python pour générer une paire de clés publiques et privées Solana à des fins de test, et mettez en place un serveur HTTP sur le serveur pour recevoir les requêtes POST.
Remplacez le code d'adresse du serveur de test généré par le code d'adresse du serveur malveillant défini par l'attaquant, et remplacez la clé privée dans le fichier .env par la clé privée de test.
Après le lancement du code malveillant, le serveur de test a réussi à recevoir les données JSON envoyées par le projet malveillant, qui contiennent des informations sur la Clé privée.
Indicateurs d'intrusion ( IoCs )
Adresse IP:103.35.189.28
Nom de domaine:storebackend-qpq3.onrender.com
Dépôt malveillant:
Autres dépôts avec des méthodes de mise en œuvre similaires :
Résumé
Dans cette attaque, les attaquants se sont déguisés en projets open source légitimes pour inciter les utilisateurs à télécharger et exécuter du code malveillant. Ce projet lit les informations sensibles dans le fichier .env local et transmet les clés privées volées à un serveur contrôlé par les attaquants. Ce type d'attaque combine généralement des techniques d'ingénierie sociale, et un léger faux pas de l'utilisateur peut facilement entraîner une compromission.
Il est conseillé aux développeurs de rester particulièrement vigilants vis-à-vis des projets GitHub d'origine douteuse, en particulier ceux impliquant des opérations de portefeuille ou de clé privée. Si vous devez exécuter ou déboguer, il est recommandé de le faire dans un environnement isolé et sans données sensibles, afin d'éviter d'exécuter des programmes et des commandes malveillants d'origine inconnue.
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
14 J'aime
Récompense
14
8
Partager
Commentaire
0/400
WagmiWarrior
· Il y a 11m
Solana est vraiment trop.
Voir l'originalRépondre0
BlockchainBouncer
· Il y a 9h
Encore un classique piège ?
Voir l'originalRépondre0
MeltdownSurvivalist
· 07-26 12:51
Encore des jetons mèmes piégés, hehe
Voir l'originalRépondre0
HallucinationGrower
· 07-25 04:45
Encore un problème, c'est pourquoi je n'utilise jamais sol.
Voir l'originalRépondre0
GasWaster
· 07-25 04:37
Encore black je grand sol ?
Voir l'originalRépondre0
GasFeeNightmare
· 07-25 04:33
Encore envie de prendre les gens pour des idiots ? Vous les avez tous pris pour des idiots.
Voir l'originalRépondre0
BlockTalk
· 07-25 04:26
Encore une autre vague de pigeons à prendre pour des idiots
Le code malveillant réapparaît dans l'écosystème Solana, un projet GitHub cache un piège de vol de clé privée.
Solana : réapparition de maliciels Bots dans l'écosystème : les fichiers de configuration cachent des pièges de fuite de Clé privée
Début juillet 2025, un utilisateur a demandé de l'aide à l'équipe de sécurité, demandant une analyse des raisons pour lesquelles ses actifs cryptographiques avaient été volés. L'enquête a révélé que l'incident provenait de l'utilisation par cet utilisateur d'un projet open source hébergé sur GitHub, déclenchant des comportements cachés de vol de pièces.
Récemment, d'autres utilisateurs ont vu leurs actifs volés en raison de l'utilisation de projets open source similaires et ont contacté l'équipe de sécurité. À cet égard, l'équipe a analysé plus en profondeur cette méthode d'attaque.
Processus d'analyse
Analyse statique
Grâce à l'analyse statique, un code suspect a été trouvé dans le fichier de configuration /src/common/config.rs, principalement concentré dans la méthode create_coingecko_proxy(). Cette méthode appelle d'abord import_wallet(), qui appelle ensuite import_env_var() pour obtenir la Clé privée.
La méthode import_env_var() est utilisée pour obtenir les informations de configuration des variables d'environnement dans le fichier .env. Si la variable d'environnement n'existe pas, elle entrera dans la branche de gestion des erreurs et continuera à consommer des ressources.
Les informations sensibles telles que la Clé privée sont stockées dans le fichier .env. La méthode import_wallet() pour obtenir la Clé privée vérifiera sa longueur:
Ensuite, le code malveillant encapsule les informations de clé privée pour prendre en charge le partage multithread.
La méthode create_coingecko_proxy() décode les adresses URL malveillantes après avoir obtenu la clé privée. L'adresse réelle décodée est :
Le code malveillant convertit la clé privée en chaîne Base58, construit le corps de la requête JSON, puis l'envoie à l'URL ci-dessus via une requête POST, tout en ignorant le résultat de la réponse.
De plus, cette méthode inclut des fonctionnalités normales telles que l'obtention des prix, pour dissimuler des comportements malveillants. Le nom de la méthode a également été déguisé, ce qui est trompeur.
La méthode create_coingecko_proxy() est appelée au démarrage de l'application, située dans la phase d'initialisation du fichier de configuration de la méthode main() dans main.rs.
Selon l'analyse, l'adresse IP de ce serveur est située aux États-Unis.
Le projet a été mis à jour sur GitHub le 17 juillet 2025, les principaux changements étant concentrés dans le fichier de configuration config.rs sous le répertoire src. L'encodage de l'adresse du serveur de l'attaquant a été remplacé par un nouvel encodage.
Analyse dynamique
Pour observer visuellement le processus de vol, écrivez un script Python pour générer une paire de clés publiques et privées Solana à des fins de test, et mettez en place un serveur HTTP sur le serveur pour recevoir les requêtes POST.
Remplacez le code d'adresse du serveur de test généré par le code d'adresse du serveur malveillant défini par l'attaquant, et remplacez la clé privée dans le fichier .env par la clé privée de test.
Après le lancement du code malveillant, le serveur de test a réussi à recevoir les données JSON envoyées par le projet malveillant, qui contiennent des informations sur la Clé privée.
Indicateurs d'intrusion ( IoCs )
Adresse IP:103.35.189.28
Nom de domaine:storebackend-qpq3.onrender.com
Dépôt malveillant:
Autres dépôts avec des méthodes de mise en œuvre similaires :
Résumé
Dans cette attaque, les attaquants se sont déguisés en projets open source légitimes pour inciter les utilisateurs à télécharger et exécuter du code malveillant. Ce projet lit les informations sensibles dans le fichier .env local et transmet les clés privées volées à un serveur contrôlé par les attaquants. Ce type d'attaque combine généralement des techniques d'ingénierie sociale, et un léger faux pas de l'utilisateur peut facilement entraîner une compromission.
Il est conseillé aux développeurs de rester particulièrement vigilants vis-à-vis des projets GitHub d'origine douteuse, en particulier ceux impliquant des opérations de portefeuille ou de clé privée. Si vous devez exécuter ou déboguer, il est recommandé de le faire dans un environnement isolé et sans données sensibles, afin d'éviter d'exécuter des programmes et des commandes malveillants d'origine inconnue.