ActualitésCryptoDes pirates détournent bee-js et Swarm Desktop d'Ethersphere pour voler des clés de portefeuille

Des pirates détournent bee-js et Swarm Desktop d'Ethersphere pour voler des clés de portefeuille

Auteur: Cryptopolitan·

Points clés

  • •Des pirates ont pris le contrôle du système de publication d'Ethersphere le 9 novembre pour diffuser un malware via bee-js 13.3.0 et Swarm Desktop 0.56.2, à la recherche des clés privées des portefeuilles de nœuds Bee.
  • •Le logiciel malveillant a passé les contrôles de légitimité, disposant d'une provenance SLSA valide et d'un installateur macOS signé et notarisé par Apple, le paquet bee-js contaminé restant sur npm environ 75 minutes.
  • •Le malware extrayait les identifiants des fichiers config.yaml et swarm.key et installait des portes dérobées, déployant ScreenConnect sur Windows et se déguisant en outils de développement Solidity légitimes sur Linux et macOS.
  • •Les chercheurs ont relié l'attaque à des comptes GitHub compromis, dont le robot de publication bee-worker, et au même contrat Ethereum précédemment utilisé lors des campagnes SleepyDuck et EtherDuck.
  • •Ethersphere a publié un Swarm Desktop 0.56.3 propre signé avec un nouveau certificat, et les utilisateurs concernés sont invités à reconstruire leurs machines, à transférer leurs fonds depuis des appareils sains et à fixer bee-js en version 13.2.0.
Des pirates détournent bee-js et Swarm Desktop d'Ethersphere pour voler des clés de portefeuille

Le 9 novembre, des pirates ont pris le contrôle du système de publication logicielle d'Ethersphere et l'ont utilisé pour diffuser un malware via bee-js 13.3.0 — la bibliothèque client JavaScript d'Ethersphere pour le réseau de stockage décentralisé Swarm — et Swarm Desktop 0.56.2, l'application de bureau pour exécuter des nœuds Bee. Le code malveillant était conçu pour traquer les clés privées des portefeuilles de nœuds Bee, donnant aux attaquants l'accès aux appareils concernés. Le paquet bee-js contaminé est resté sur npm, le registre principal des paquets JavaScript, environ 75 minutes, tandis que la version compromise de Swarm Desktop est restée en ligne près de huit heures et demie.

Signé, traçable, et pourtant malveillant

Cette faille était particulièrement préoccupante car le logiciel malveillant semblait légitime. La société de cybersécurité Socket a confirmé que bee-js disposait d'une provenance SLSA valide — le cadre Supply-chain Levels for Software Artifacts, qui documente la manière dont une version a été produite — tandis que l'installateur macOS de Swarm Desktop avait été signé et notarisé par Apple, avec prise en charge de la mise à jour automatique pour les utilisateurs d'Apple Silicon et de Windows. Ces vérifications confirmaient l'origine du logiciel, mais pas sa sécurité.

Les attaquants ont inséré du code malveillant dans des flux de travail de confiance. Socket a relié l'incident à des comptes GitHub compromis, dont le robot de publication bee-worker, mais la manière dont cet accès a été obtenu reste inconnue.

Ce que vole le loader

StepSecurity a découvert que les attaquants avaient modifié scripts/generate-version.cjs pour télécharger du code malveillant depuis api.frameworkmetrics[.]xyz. Le script s'exécutait automatiquement lorsque les développeurs installaient bee-js 13.3.0, même s'ils n'utilisaient jamais la bibliothèque.

Le malware recherchait ensuite deux fichiers : config.yaml et data-dir/keys/swarm.key. Le premier contenait le mot de passe nécessaire pour déverrouiller la clé de portefeuille chiffrée stockée dans le second. Grâce à ces deux fichiers, les attaquants pouvaient prendre le contrôle d'un portefeuille de nœud Bee.

Le malware installait également des portes dérobées pour maintenir un accès à distance. Sur Windows, il déployait ScreenConnect, un outil commercial d'accès à distance ; sur Linux et macOS, les portes dérobées se déguisaient en outils de développement Solidity légitimes.

Le même portefeuille que derrière SleepyDuck

Socket a constaté que le malware utilisait le contrat Ethereum 0xf8a900Db50b3331be6B768bA460BB59f3E40C344 pour localiser ses serveurs de commande et de contrôle. Pluto Security avait précédemment relié ce même contrat aux campagnes SleepyDuck et EtherDuck, qui propageaient un malware via de fausses extensions Solidity.

Cette fois, cependant, les attaquants ont emprunté une voie différente : compromettre les versions logicielles authentiques d'Ethersphere plutôt que d'inciter les développeurs à télécharger des contrefaçons. La technique ressemble à une précédente attaque de la chaîne d'approvisionnement npm rapportée par Cryptopolitan, dans laquelle des hackers diffusaient un malware via les paquets du projet WeaveDB d'Arweave.

Ce que les opérateurs doivent faire maintenant

Dans deux avis officiels (1, 2), Ethersphere a identifié les deux versions comme malveillantes. Le mainteneur darkobas2 a déclaré dans une pull request de récupération que la version 0.56.2 « avait été construite et publiée par un attaquant utilisant des identifiants CI volés ». Le remplacement propre, la 0.56.3, était « le même code que la 0.56.1 », signé avec un nouveau certificat.

Les utilisateurs doivent vérifier leur version de Desktop et installer la 0.56.3 ; les utilisateurs de Linux doivent procéder à une mise à jour manuelle. Toute personne ayant exécuté le malware doit isoler et reconstruire sa machine, transférer ses fonds et ses stakes depuis un appareil sain, et renouveler ses identifiants. Les utilisateurs de bee-js doivent fixer la version 13.2.0, car une simple mise à jour ne supprimera pas une porte dérobée.

Socket a recensé 65 téléchargements de la version Desktop contaminée au 9 novembre 08h27 UTC, chercheurs inclus, et estime une dizaine de récupérations de bee-js 13.3.0. Aucun de ces chiffres ne représente un nombre de victimes, et aucun décompte confirmé de machines infectées ou de fonds volés n'existe. Deux points restent à surveiller pendant que la récupération se poursuit : la manière dont les attaquants ont obtenu l'accès à l'infrastructure de publication, et si des pertes confirmées apparaissent.

Contexte à l'échelle du secteur

Sur le tableau de bord de CertiK, la compromission de portefeuilles se classe deuxième par pertes en 2026 (769,1 millions de dollars) et troisième par incidents (75). La compromission de clés privées se classe cinquième par pertes (158 millions de dollars) et quatrième par incidents (47). Ces chiffres sont à l'échelle du secteur, non spécifiques à Ethersphere.

CoinGecko cotait BZZ autour de 0,0654 dollar le 10 novembre, mais aucune vente massive liée à la faille n'a été établie. L'avertissement le plus important concerne la confiance dans les logiciels : même des mises à jour d'apparence authentique peuvent voler des clés.