Skip to content

Image: cdn.sanity.io · rights & removal

Executive Summary

A sophisticated supply chain attack compromised two popular developer tools: the @ethersphere/bee-js npm package and Swarm Desktop, utilizing pre-existing access within Ethersphere’s GitHub release pipelines. The malicious artifacts delivered small loaders that executed with full privileges in consuming environments. In bee-js 13.3.0, the loader ran during the NPM `postinstall` hook, while in Swarm Desktop 0.56.2, it deployed within the Electron main process after installation and every app launch. The attack leveraged infrastructure previously tied to the SleepyDuck/EtherDuck campaign on Open VSX, specifically using an Ethereum smart contract (0xf8a900Db50b3331be6B768bA460BB59f3E40C344) for Command-and-Control address retrieval. The intrusion involved compromises of maintainer accounts and release automation identities, dating back prior to the November 9 publication event.

Facts Only

Compromised maintainer accounts pushed malicious @ethersphere/bee-js 13.3.0 and Swarm Desktop 0.56.2 via Ethersphere’s release pipeline on November 9, 2026. Both artifacts contained a loader that fetched JavaScript from api[.]frameworkmetrics[.]xyz. The loaders used Ethereum contract 0xf8a900Db50b3331be6B768bA460BB59f3E40C344 for C2 configuration, shared with the SleepyDuck / EtherDuck campaign. For bee-js, a malicious block was inserted into scripts/generate-version.cjs and promoted to `postinstall`. For Swarm Desktop, the loader was embedded in the Electron main process of all nine Linux, macOS, and Windows packages. The actor compromised GitHub accounts nugaon and bee-worker prior to November 6. On November 6, failed attempts were made to harvest secrets from Ethersphere’s CI workflows.

Full Take

The narrative describes a highly orchestrated escalation in threat methodology: migrating from targeted extension compromise (EtherDuck) to high-leverage supply chain infiltration (npm and desktop installers). The most striking pattern is the convergence of disparate initial attacks onto one persistent infrastructure, indicated by the reuse of the Ethereum C2 contract across multiple campaigns documented between March and November 2026. This suggests a modular operational capability—the actor prioritizes establishing enduring command pathways rather than achieving singular, immediate goals. The narrative heavily details the *how* (CI bypasses, signing processes) while framing it as defensive threat intelligence reporting; this detailed expository style serves to establish comprehensive legitimacy for the subsequent recommendations. By meticulously mapping every step from initial credential probing on November 6 through final C2 communication in November 9, the report aims to prove thoroughness and competence.
The underlying assumption being tested is whether modern automated publishing workflows—like trusted NPM publishing or signed CI builds—can offer sufficient cryptographic assurance against an insider threat that already possesses credentials. The fact that the provenance attestation remained genuine but was leveraged by a modified source code fundamentally challenges the security guarantee of "built where it claims to be built." This highlights a systemic vulnerability where process integrity (the build environment) can be weaponized even when artifact signing mechanisms are sound, shifting the burden from external interception to internal trust management.
The primary implication is that developer ecosystems reliant on transitive dependencies and automated release gates possess deep, latent attack surfaces often invisible during routine audits. The secondary consequence involves a heightened risk to specialized actors—developers working with complex tooling like Ethereum frameworks—whose operations intersect these compromised software layers.
What would change the perception of vulnerability from "exploitable flaw" to "architectural inevitability"? How might supply chain security evolve beyond auditing the final binary signature to continuously verifying the *intent* encoded within release automation manifests? If trust in external developer ecosystems is eroded, what resilient, decentralized methods replace reliance on central registries and CI providers for critical infrastructure components?
Patterns detected: none
Autonomy check: No autonomy signals.

From the original · Socket Security Blog

Compromised maintainer accounts pushed malicious @ethersphere/bee-js 13.3.0 and Swarm Desktop 0.56.2, reusing SleepyDuck’s Ethereum-addressed C2 infrastructure. - Socket Research Team Socket’s Threat Research Team analyzed the November 9, 2026 compromise of Ethersphere’s release pipeline, in which a threat actor used the project’s own GitHub automation to publish a malicious @ethersphere/bee-js…
Read the full story at socket.dev

Sentinel unavailable

The automated check of the source article's wording did not complete, so no result is shown.

This looks only at the wording of the original source article, not at this page's AI-written sections. A small local AI model made this estimate. It has not been checked against known human and machine texts, so treat it as provisional. It cannot show who wrote an article.

Malicious bee-js npm Release and Swarm Desktop Releases Deliver SleepyDuck Ethereum C2 Backdoor | Huntaegis