@ethersphere/bee-js 13.3.0 Compromise Targets Wallet Data and Installs Persistent Access

· Original article ↗

Summary

StepSecurity found that @ethersphere/bee-js 13.3.0 runs attacker-controlled code at install, targeting Swarm Desktop wallet files and installing persistence. The report does not establish how many systems were affected or whether funds were stolen.

Key points

  • The malicious 13.3.0 release was published to npm on November 9, 2026; the examined 13.2.0 release lacked the malicious installation path.
  • An installation hook requests platform-specific JavaScript from api.frameworkmetrics[.]xyz and executes it with the installing user's permissions.
  • If Swarm Desktop wallet files are present, the payload reads the configuration and encrypted keystore and sends them to the same host; wallet exposure and stolen funds were not established.
  • The Linux and macOS scripts create persistent launchers. Windows code stages an MSI and adds a Defender exclusion, but the MSI and helper were not retrieved, so their capabilities remain unverified.
  • The malicious code appeared in an unsigned direct commit under the bee-worker identity; the report says misuse of that identity is indicated, but the credential and access method are unknown.
  • StepSecurity advises checking dependency resolution and installation logs, investigating persistence and indicators, and treating systems as compromised if the payload ran.

Article Details

Attack Vectors
  • A malicious direct commit under the bee-worker identity was included in @ethersphere/bee-js 13.3.0 and published through the repository's existing npm workflow.
  • The package's postinstall hook retrieves platform-specific JavaScript from api.frameworkmetrics[.]xyz and executes it with the installing user's permissions.
  • The payload searches for Swarm Desktop wallet files and, if present, sends their contents to the same host.
  • Platform-specific payloads install persistence on Linux and macOS; the Windows script stages PowerShell and VBScript launchers and attempts to run an MSI whose identity was not confirmed.
Defensive Notes
  • Do not install @ethersphere/bee-js 13.3.0. Check direct and transitive dependencies, lockfiles, installed metadata, and CI logs; the examined 13.2.0 release lacks the malicious installation path.
  • Review DNS, proxy, and endpoint records for the listed infrastructure and persistence locations. A successful installation log does not rule out execution because the hook suppresses network errors.
  • If the payload may have run, isolate the host, preserve evidence, investigate persistence, and rebuild from a trusted image. Removing or replacing the package alone does not remove installed persistence.
  • Rotate credentials accessible to the affected user or CI job from a clean environment. If Swarm Desktop wallet files were present, treat the keystore and any password in config.yaml as exposed and replace the wallet from a clean system.
  • Blocking lifecycle scripts prevents this particular installation hook from running, but does not remediate prior execution.

Indicators of compromise

TypeIndicatorContext
DOMAINapi[.]frameworkmetrics[.]xyzAttacker-controlled host used to deliver platform-specific payloads and receive exfiltrated Swarm Desktop wallet data.
SHA1a205c8a5fed81e9a787645b2801f00be3db3348dSHA-1 hash of the malicious npm package tarball.
SHA2569b73e7cd4e1425e770392549d8df46c706139ef476f4f7b9ac405165dc8d9696SHA-256 hash of the retrieved Linux x86-64 executable associated with the compromise.
SHA256b601776817363b96295119f7221338a122d5247a35a77a64b04f286e1bbcc565SHA-256 hash of the retrieved Linux ARM64 executable associated with the compromise.

MITRE ATT&CK

Products

Related Articles