Hakerzy przejęli bee-js i Swarm Desktop od Ethersphere, by wykraść klucze portfeli
Najważniejsze informacje
- •Hakerzy przejęli 9 listopada system wydawniczy Ethersphere, aby rozpowszechniać malware poprzez bee-js 13.3.0 i Swarm Desktop 0.56.2, wyszukując prywatne klucze portfeli węzłów Bee.
- •Złośliwe oprogramowanie przeszło kontrole legalności — miało ważne pochodzenie SLSA oraz podpisany i notaruzowany przez Apple instalator macOS — a zainfekowany pakiet bee-js pozostawał w npm przez około 75 minut.
- •Malware wykradał dane uwierzytelniające z plików config.yaml i swarm.key oraz instalował backdoory, wdrażając ScreenConnect w Windows i podszywając się pod legalne narzędzia deweloperskie Solidity w Linuksie i macOS.
- •Badacze powiązali atak ze skompromitowanymi kontami GitHub, w tym botem wydawniczym bee-worker, oraz z tym samym kontraktem Ethereum używanym wcześniej w kampaniach SleepyDuck i EtherDuck.
- •Ethersphere opublikował czystą wersję Swarm Desktop 0.56.3 podpisaną nowym certyfikatem, a dotknięci użytkownicy powinni przebudować maszyny, przenieść środki z czystych urządzeń i przypiąć bee-js do wersji 13.2.0.

9 listopada hakerzy przejęli kontrolę nad systemem wydawniczym Ethersphere i wykorzystali go do rozpowszechnienia złośliwego oprogramowania poprzez bee-js 13.3.0 — bibliotekę kliencką JavaScript Ethersphere dla zdecentralizowanej sieci przechowywania danych Swarm — oraz Swarm Desktop 0.56.2, aplikację desktopową do obsługi węzłów Bee. Złośliwy kod został zaprojektowany, by wyszukiwać prywatne klucze portfeli węzłów Bee, dając atakującym dostęp do zainfekowanych urządzeń. Zainfekowany pakiet bee-js pozostawał w npm, głównym rejestrze pakietów JavaScript, przez około 75 minut, podczas gdy skompromitowana wersja Swarm Desktop była dostępna online przez blisko osiem i pół godziny.
Podpisane, z udokumentowanym pochodzeniem — i nadal złośliwe
Naruszenie było szczególnie niepokojące, ponieważ złośliwe oprogramowanie sprawiało wrażenie legalnego. Firma zajmująca się cyberbezpieczeństwem Socket potwierdziła, że bee-js posiadał ważne pochodzenie SLSA — ramy Supply-chain Levels for Software Artifacts, dokumentujące sposób powstania builda — natomiast instalator macOS Swarm Desktop był podpisany i notaruzowany przez Apple, z obsługą automatycznych aktualizacji dla użytkowników Apple Silicon i Windows. Te kontrole weryfikowały pochodzenie oprogramowania, ale nie jego bezpieczeństwo.
Atakujący wstrzyknęli złośliwy kod do zaufanych procesów roboczych. Socket powiązał incydent ze skompromitowanymi kontami GitHub, w tym z botem wydawniczym bee-worker, choć sposób uzyskania dostępu pozostaje nieznany.
Co kradnie loader
StepSecurity ustaliła, że atakujący zmodyfikowali scripts/generate-version.cjs, aby pobierać złośliwy kod z api.frameworkmetrics[.]xyz. Skrypt uruchamiał się automatycznie, gdy deweloperzy instalowali bee-js 13.3.0, nawet jeśli nigdy nie korzystali z tej biblioteki.
Złośliwe oprogramowanie następnie wyszukiwało dwa pliki: config.yaml oraz data-dir/keys/swarm.key. Pierwszy zawierał hasło potrzebne do odblokowania zaszyfrowanego klucza portfela zapisanego w drugim. Mając oba pliki, atakujący mogli przejąć kontrolę nad portfelem węzła Bee.
Malware instalował także backdoory, aby utrzymać zdalny dostęp. W systemie Windows wdrażał ScreenConnect, komercyjne narzędzie do zdalnego dostępu; w Linuksie i macOS backdoory podszywały się pod legalne narzędzia deweloperskie Solidity.
Ten sam portfel co w kampanii SleepyDuck
Socket ustalił, że złośliwe oprogramowanie używało kontraktu Ethereum 0xf8a900Db50b3331be6B768bA460BB59f3E40C344 do lokalizowania swoich serwerów dowodzenia i kontroli. Pluto Security wcześniej powiązała ten sam kontrakt z kampaniami SleepyDuck i EtherDuck, które rozprzestrzeniały malware poprzez fałszywe rozszerzenia Solidity.
Tym razem atakujący wybrali jednak inną drogę: skompromitowali autentyczne wydania oprogramowania Ethersphere, zamiast nakłaniać deweloperów do pobierania podróbek. Technika przypomina wcześniejszy atak na łańcuch dostaw npm opisany przez Cryptopolitan, w którym hakerzy rozpowszechniali malware poprzez pakiety projektu WeaveDB firmy Arweave.
Co powinni teraz zrobić operatorzy
W dwóch oficjalnych komunikatach (1, 2) Ethersphere uznał oba wydania za złośliwe. Opiekun projektu darkobas2 stwierdził w recovery pull request, że wersja 0.56.2 "została zbudowana i opublikowana przez atakującego z użyciem skradzionych poświadczeń CI". Czysty zamiennik, 0.56.3, to "ten sam kod co 0.56.1", podpisany nowym certyfikatem.
Użytkownicy powinni sprawdzić swoją wersję Desktop i zainstalować 0.56.3; użytkownicy Linuksa muszą zaktualizować system ręcznie. Każdy, kto uruchomił złośliwe oprogramowanie, powinien odizolować i przebudować komputer, przenieść środki i staking z czystego urządzenia oraz wymienić poświadczenia. Użytkownicy bee-js powinni przypiąć wersję 13.2.0, ponieważ sama aktualizacja nie usunie backdoora.
Socket odnotował 65 pobrań zainfekowanej wersji Desktop do godziny 08:27 UTC 9 listopada, w tym przez badaczy, i szacuje około dziesięć pobrań bee-js 13.3.0. Żadna z tych liczb nie stanowi liczby ofiar, a nie istnieje potwierdzone zestawienie zainfekowanych maszyn ani skradzionych środków. W trakcie trwającej odbudowy warto obserwować dwie kwestie: w jaki sposób atakujący uzyskali dostęp do infrastruktury wydawniczej oraz czy pojawią się jakiekolwiek potwierdzone straty.
Kontekst dla całej branży
Według pulpitu CertiK kompromitacja portfeli zajmuje drugie miejsce pod względem strat w 2026 roku (769,1 mln USD) i trzecie pod względem liczby incydentów (75). Kompromitacja kluczy prywatnych plasuje się na piątym miejscu pod względem strat (158 mln USD) i czwartym pod względem incydentów (47). Te dane dotyczą całej branży, a nie konkretnie Ethersphere.
CoinGecko wycenił BZZ 10 listopada w okolicach 0,0654 USD, ale nie stwierdzono wyprzedaży wywołanej naruszeniem. Szersze ostrzeżenie dotyczy zaufania do oprogramowania: nawet pozornie autentyczne aktualizacje mogą kraść klucze.