Security Guides

Ethersphere bee-js 13.3.0 and Swarm Desktop 0.56.2 Shipped Malware (November 2026): Affected Versions and What Users Should Do

Ethersphere (Swarm) bee-js 13.3.0 and Swarm Desktop 0.56.2 shipped malicious code on Nov 9, 2026. Affected versions and what to do, per the GitHub advisory.

Published 2026-11-10 Updated 2026-11-10 Last verified 2026-11-10 13 min read
On this page

For: developers and CI operators who use the Swarm (Ethersphere) npm package @ethersphere/bee-js, and people who run a Swarm node with Swarm Desktop. This article is based on the GitHub advisory and what Ethersphere has published on GitHub. It does not cover how the malware works or indicators of compromise (IoCs).

Developing: this article will be updated as the organisation publishes more

Who is affected

developers and CI operators who use the Swarm (Ethersphere) npm package @ethersphere/bee-js, and people who run a Swarm node with Swarm Desktop.

Confirmed so farSee the table ↓
  • Affected bee-js version
  • Treatment of affected machines
  • Rotating keys and secrets
3 more
  • Compromised Swarm Desktop version
  • How long each was public
  • Delivery by auto-update

Listed as possibly affected

  • Theft of node key and password
  • Takeover of the release process
Not yet confirmed
  • Whether any keys were stolen or funds lost
  • How the intrusion happened (Ethersphere's own account)
  • A detailed report and user guidance from Ethersphere
1 more
  • How many users were affected
What to do nowSee the steps ↓
  1. Check whether you are affected: look for 13.3.0 and 0.56.2
  2. If affected: treat the machine or CI environment as compromised
  3. Swarm node operators: create a new key and move the funds
2 more
  1. Rotate credentials: everything reachable from that machine or CI
  2. Pin versions and reinstall
Last checked
As of November 10, 2026
Follow-up plans and what we checked

The GitHub advisory was published on November 9, 2026. When we checked on November 10, 2026, Ethersphere's bee-js releases page still listed 13.2.0 as the latest, with no 13.3.0 entry. The Swarm Desktop 0.56.3 release notes say only that they replace the compromised 0.56.2. We could not find a notice from Ethersphere itself that explains what happened or gives guidance to users.

What bee-js and Swarm Desktop users should do today

Step 1 applies to everyone. Steps 2 onward apply if you installed (or launched) an affected version.

1

Check whether you are affected: look for 13.3.0 and 0.56.2

  • bee-js: check lockfiles, node_modules, package caches, internal package mirrors and CI logs for @ethersphere/bee-js 13.3.0. The advisory lists 13.3.0 as the only affected version
  • Swarm Desktop: check whether the app version was 0.56.2 and whether you launched it. According to the security firm's analysis, it was also delivered by auto-update to Windows x64 and Apple Silicon
  • bee-js 13.2.0 and earlier, and Swarm Desktop 0.56.1, are not affected (the security firm's analysis)
  • If you cannot tell, treat it as affected (our addition)
2

If affected: treat the machine or CI environment as compromised

The advisory says to treat any computer with the package installed or running as fully compromised, and to remove the package. It warns that removal may not clear all the malicious software the install caused.

  • Disconnect the machine from the network and, if possible, rebuild it. Recreate disposable CI runners
  • Do the rest of the work from a different, uncompromised computer
3

Swarm node operators: create a new key and move the funds

According to the security firm's analysis, the Bee node's configuration file (which includes a plaintext password) and its encrypted wallet key were targeted. Its guidance:

  • Assume the password and wallet key were stolen
  • Create a new key on a clean machine and move funds, chequebook balances and stake to it
  • Look for persistence left behind by the malware (user-level auto-start entries, remote-control software). Reinstalling the app may not remove it

Whether any keys were actually stolen or any loss occurred has not been published. Until you can confirm otherwise, acting as if they were stolen is the safe course (our view).

4

Rotate credentials: everything reachable from that machine or CI

The advisory says to rotate all secrets and keys stored on the machine immediately, from a different computer. It does not list them. The following is our addition, in line with the security firm's description of what the installing user or CI job could reach.

  • npm and GitHub tokens, cloud keys, SSH keys
  • CI secrets, and the short-lived cloud credentials issued to CI (via OIDC)
  • Credentials saved in the machine's browser or password store

Setting up the new credential before disabling the old one avoids downtime (our addition). The basics of where to keep keys are in What makes .env files and API keys risky.

5

Pin versions and reinstall

  • bee-js: pin to 13.2.0 (the security firm's guidance). There is no patched version (advisory)
  • Swarm Desktop: update to 0.56.3. Linux is not auto-updated and needs a manual update (the security firm's analysis). The update removes the compromised version, but it does not undo what has already run

Installed bee-js 13.3.0 / launched Swarm Desktop 0.56.2

Treat as fully compromised

↓

Rebuild the machine/CI; rotate keys and secrets from another machine

Move the wallet to a new key and move funds

bee-js 13.2.0 and earlier / Swarm Desktop 0.56.1

Not affected (security firm's analysis)

↓

Keep versions pinned

bee-js 13.2.0, Desktop 0.56.3

What to do in each situation, based on the GitHub advisory and the security firm's analysis.

How to read this: we could not find a detailed notice from Ethersphere itself

The affected versions and response in this article come from the GitHub advisory and Ethersphere's release notes. How long each version was public, who received the auto-update, what was targeted, and the abuse of the release process come from a security firm's analysis, not from Ethersphere. As of November 10, 2026 we could not find a detailed notice from Ethersphere, so we will rewrite the text when official guidance appears.

What happened

This section is based on the GitHub advisory, Ethersphere's release notes on GitHub and a security firm's analysis. Times are UTC unless stated, with Japan time in parentheses. Malware communication endpoints and file values are not included.

  1. November 6

    According to the security firm's analysis, earlier attempts to extract secrets from Ethersphere's repositories failed, and the firm assessed with moderate confidence that no data was exfiltrated.
  2. Around November 8

    A malicious commit was made. Its displayed timestamp was 23:59, a value that can be set arbitrarily (the security firm's analysis).
  3. November 9, 00:09 (09:09)

    bee-js 13.3.0 appeared on npm as latest (the security firm's analysis).
  4. 00:43 to 00:44 (09:43 to 09:44)

    Auto-updates of Swarm Desktop 0.56.2 were offered to Windows (x64) from 00:43 and to Apple Silicon from 00:44 (the security firm's analysis).
  5. 01:24 (10:24)

    npm removed 13.3.0, about 75 minutes after it appeared (the security firm's analysis).
  6. About 09:04 to 09:14 (18:04 to 18:14)

    The Swarm Desktop 0.56.2 tag was deleted and the release stopped being public, after about 8.5 hours (the security firm's analysis).
  7. November 9

    The GitHub advisory GHSA-hh7j-5m3j-23pf was published. Ethersphere released Swarm Desktop 0.56.3, noting in the release notes that it replaces the compromised 0.56.2.
About 75 min
Time bee-js 13.3.0 was on npm (security firm's analysis)
About 8.5 h
Time Swarm Desktop 0.56.2 was public (security firm's analysis)
13.3.0 only
Affected bee-js version per the advisory; no patched version
13.2.0 and earlier
Not affected (security firm's analysis)
Official statements and the security firm's analysis
Affected (advisory)
npm @ethersphere/bee-js 13.3.0 only. No patched version. Type: malware (embedded malicious code)
Guidance to users (advisory)
Treat any computer with it installed or running as fully compromised. Remove the package. Removal may not clear everything. Rotate all secrets and keys immediately from a different computer
Swarm Desktop (Ethersphere release notes)
Version 0.56.3, released November 9, replaces the compromised 0.56.2. No further explanation
Scope of distribution (security firm's analysis)
bee-js 13.3.0 on npm; Swarm Desktop 0.56.2 as a GitHub release. A loader that fetches and runs remote code ran at install time, or at every app launch. Linux packages were not auto-updated but were still affected
What was targeted (security firm's analysis)
The Bee node's configuration file (with a plaintext password) and its encrypted wallet key, plus whatever the installing user or CI job could reach
Release process (security firm's analysis)
Two GitHub accounts (a maintainer and the release automation) were taken over; the origin is not explained. Because the publish workflow did not check for a protected branch, the malicious code ran inside the legitimate publish process
Harm
No stolen keys or losses had been published in the sources we checked

What is known and what is not

The state as of November 10, 2026. We will update the status column when more is published.

ItemContentStatus
Affected bee-js version@ethersphere/bee-js 13.3.0 only; no patched versionConfirmed (GitHub advisory)
Treatment of affected machinesTreat as fully compromised if installed or runningConfirmed (GitHub advisory)
Rotating keys and secretsImmediately, from a different computerConfirmed (GitHub advisory)
Compromised Swarm Desktop version0.56.2; replaced by 0.56.3Confirmed (Ethersphere)
13.2.0 and earlier, 0.56.1Not affectedNot included (security firm's analysis)
How long each was publicbee-js 13.3.0 about 75 minutes; Swarm Desktop 0.56.2 about 8.5 hoursConfirmed (security firm's analysis)
Delivery by auto-updateDelivered to Windows (x64) and Apple SiliconConfirmed (security firm's analysis)
Theft of node key and passwordConfiguration file (plaintext password) and wallet key targetedPossible (security firm's analysis)
Takeover of the release processGitHub maintainer and release automation accountsPossible (security firm's analysis)
Origin of the takeoverNot explainedUnder investigation
Actual stolen keys or lossesNot publishedNot stated
Number of affected usersNot publishedNot stated

What can happen when a development package is tampered with

The following is general and does not mean these things happened here.

An npm package runs with the privileges of whoever installs it, and some packages run scripts automatically at install time. Run on a developer PC or CI job, it can reach the environment variables, files and cloud permissions there. A desktop app runs on every launch, so through its update mechanism even a short exposure can reach many machines.

In cryptocurrency node and development setups, a key and the password that unlocks it can sit on the same machine, so seeing one can lead to funds being moved. What sets this apart from typosquatting is that the code comes from the legitimate distribution channel, under the legitimate name and version. Similar cases are LiteLLM 1.107.0 and the Trivy supply-chain compromise.

What users of packages should review

This section is not an assessment of the organisation's response. It is limited to what users can do to prepare for the next incident, based on the published account.

1

Do not automatically pull versions that were just published

The malicious version was on npm for about 75 minutes. Pinning versions in a lockfile, installing exactly as locked in CI (for example with npm ci), and using only versions published more than a set number of days ago (pnpm's minimumReleaseAge, uv's exclude-newer and similar) makes it harder to pick up a version that is withdrawn within minutes. The approach is covered in Defending against npm supply-chain worms.

2

Limit install-time scripts to the packages that need them

According to the security firm's analysis, the bee-js malware ran through an install-time script. Turning off install scripts for dependencies by default (--ignore-scripts, an allow-list in pnpm) and allowing only what is needed reduces the effect of this kind of compromise (our addition).

3

Provenance does not guarantee safety

According to the security firm's analysis, the npm package carried valid provenance attestations, because the malicious code ran inside the real publish workflow. Provenance shows where a package was built; it does not guarantee that the contents are safe (our addition).

4

Do not keep a wallet key and its password in plaintext on the same machine

According to the security firm's analysis, Swarm Desktop kept the password in plaintext in a configuration file. Keeping keys that hold funds apart from everyday development environments makes it less likely that a compromise of one leads straight to the funds (our addition).

5

If you publish packages: check release conditions inside the workflow

For maintainers, the security firm's analysis recommends checking inside the publish workflow that the commit is on a protected branch, adding required reviewers and tag restrictions to publishing environments, not passing signing secrets to workflows that run on arbitrary branches, and narrowing and rotating release-bot tokens. If you publish packages, check the same points.

Sources (public records)

The facts in this article come from the public information below. Malware endpoints, file names, hashes and other indicator values are not reproduced.

  • GitHub Advisory Database, "GHSA-hh7j-5m3j-23pf: Malware in @ethersphere/bee-js" (published November 9, 2026) — github.com
  • Ethersphere "swarm-desktop" GitHub releases (v0.56.3, November 9, 2026; the release notes say it replaces the compromised 0.56.2) — github.com
  • Ethersphere "bee-js" GitHub releases (checked November 10; latest is v13.2.0) — github.com
  • A security firm's analysis, "The bee-js and Swarm Desktop release compromise" (supporting; how long each was public, auto-update, what was targeted, abuse of the release process) — socket.dev

Update history

2026-11-10: First version. Based on the GitHub advisory (November 9, 2026), Ethersphere's release notes on GitHub and a security firm's analysis. We could not find a detailed notice from Ethersphere itself. We will update when official guidance is published.

Latest breaking reports

All breaking reports →

FAQ

QWhich versions are affected?
A

According to the GitHub advisory (GHSA-hh7j-5m3j-23pf), the only affected npm version is @ethersphere/bee-js 13.3.0, and there is no patched version. For Swarm Desktop, Ethersphere's release notes say 0.56.3 replaces the compromised 0.56.2. A security firm's analysis reports that bee-js 13.2.0 and earlier and Swarm Desktop 0.56.1 are not affected.

QHow do I check whether I am affected?
A

For bee-js, look for 13.3.0 in lockfiles, caches, internal package mirrors and CI logs. For Swarm Desktop, check whether the app was version 0.56.2 or whether you launched it. The security firm's analysis says Windows x64 and Apple Silicon users could receive it through the auto-updater, so you may be affected without having installed anything yourself. If you cannot tell, treat the machine as affected (our addition).

QIs deleting 13.3.0 enough?
A

No. The GitHub advisory says any computer that has the package installed or running should be considered fully compromised. It tells you to remove the package, but warns that removal may not clear all the malicious software the install caused, and says to rotate all secrets and keys immediately from a different computer.

QWhat should I do about my Swarm node wallet and funds?
A

According to the security firm's analysis, the Bee node's configuration file (which includes a plaintext password) and its encrypted wallet key were targeted. It advises assuming the password and key were stolen and moving funds, chequebook balances and stake to a new key created on a clean machine. We could not find Ethersphere's own guidance when this article was written. Whether any keys were actually stolen or any losses occurred has not been published.

QWhat was the cause?
A

We could not find a detailed explanation from Ethersphere when this article was written. The security firm's analysis reports that two GitHub accounts were taken over: a maintainer account able to force-push to an unprotected branch, and the release automation account. How the accounts were first compromised is not explained. It says the publish workflow accepted release events without checking that the commit came from a protected branch. This is an outside analysis, not an announcement from the organisation.

QIs updating to Swarm Desktop 0.56.3 enough?
A

Updating replaces the compromised version; it does not undo anything that has already run. If you launched 0.56.2, treat that machine as compromised and rotate your keys. The security firm's analysis says Linux packages are not auto-updated and must be updated manually, and that reinstalling the app does not necessarily remove persistence the malware left behind.