Para: desarrolladores y operadores de CI que usan el paquete npm de Swarm (Ethersphere) @ethersphere/bee-js, y personas que ejecutan un nodo Swarm con Swarm Desktop. Este artículo se basa en el aviso de GitHub y en lo que Ethersphere ha publicado en GitHub. No trata cómo funciona el malware ni los indicadores de compromiso (IoC).
En desarrollo: este artículo se actualizará a medida que la organización publique más información
- A quién afecta
desarrolladores y operadores de CI que usan el paquete npm de Swarm (Ethersphere) @ethersphere/bee-js, y personas que ejecutan un nodo Swarm con Swarm Desktop.
- Confirmado hasta ahoraVer la tabla ↓
- Versión de bee-js afectada
- Tratamiento de las máquinas afectadas
- Rotación de claves y secretos
3 más
- Versión comprometida de Swarm Desktop
- Cuánto tiempo estuvo pública cada una
- Entrega por actualización automática
Señalado como posiblemente afectado
- Robo de la clave y la contraseña del nodo
- Toma del proceso de publicación
- Aún sin confirmar
- Si se robó alguna clave o se perdieron fondos
- Cómo se produjo la intrusión (el relato de la propia Ethersphere)
- Un informe detallado y una guía para usuarios de Ethersphere
1 más
- Cuántos usuarios resultaron afectados
- Qué hacer ahoraVer los pasos ↓
- Compruebe si está afectado: busque la 13.3.0 y la 0.56.2
- Si está afectado: trate la máquina o el entorno de CI como comprometido
- Operadores de nodos Swarm: cree una clave nueva y mueva los fondos
2 más
- Rote las credenciales: todo lo alcanzable desde esa máquina o desde CI
- Fije las versiones y reinstale
- Dónde verificarlo (fuente)Todas las fuentes ↓
- GitHub Advisory Database, «GHSA-hh7j-5m3j-23pf: Malware in @ethersphere/bee-js» (publicado el 9 de noviembre de 2026)
- Última comprobación
- A 10 de noviembre de 2026
Próximos avisos y qué comprobamos
El aviso de GitHub se publicó el 9 de noviembre de 2026. Cuando lo comprobamos el 10 de noviembre de 2026, la página de versiones de bee-js de Ethersphere seguía mostrando la 13.2.0 como la última, sin entrada para la 13.3.0. Las notas de versión de Swarm Desktop 0.56.3 dicen solo que sustituyen a la 0.56.2 comprometida. No pudimos encontrar un comunicado de la propia Ethersphere que explique qué ocurrió o dé indicaciones a los usuarios.
Qué deben hacer hoy los usuarios de bee-js y Swarm Desktop
El paso 1 es para todos. Del paso 2 en adelante, si instaló (o inició) una versión afectada.
Compruebe si está afectado: busque la 13.3.0 y la 0.56.2
- bee-js: compruebe archivos de bloqueo,
node_modules, cachés de paquetes, espejos internos de paquetes y registros de CI en busca de@ethersphere/bee-js13.3.0. El aviso enumera la 13.3.0 como la única versión afectada - Swarm Desktop: compruebe si la versión de la aplicación era la 0.56.2 y si la inició. Según el análisis de la empresa de seguridad, también se entregó por actualización automática a Windows x64 y Apple Silicon
- bee-js 13.2.0 y anteriores, y Swarm Desktop 0.56.1, no están afectados (análisis de la empresa de seguridad)
- Si no puede saberlo, trátelo como afectado (añadido nuestro)
Si está afectado: trate la máquina o el entorno de CI como comprometido
El aviso dice que se trate como totalmente comprometido cualquier ordenador con el paquete instalado o en ejecución, y que se elimine el paquete. Advierte de que la eliminación puede no borrar todo el software malicioso que causó la instalación.
- Desconecte la máquina de la red y, si puede, reconstrúyala. Vuelva a crear los ejecutores de CI desechables
- Haga el resto del trabajo desde otro ordenador no comprometido
Operadores de nodos Swarm: cree una clave nueva y mueva los fondos
Según el análisis de la empresa de seguridad, se apuntó al archivo de configuración del nodo Bee (que incluye una contraseña en texto plano) y a su clave de monedero cifrada. Su guía:
- Suponga que la contraseña y la clave del monedero fueron robadas
- Cree una clave nueva en una máquina limpia y mueva a ella los fondos, los saldos del chequebook y el stake
- Busque la persistencia que dejó el malware (entradas de inicio automático a nivel de usuario, software de control remoto). Reinstalar la aplicación puede no eliminarla
No se ha publicado si se robó alguna clave ni si hubo alguna pérdida. Hasta que pueda confirmar lo contrario, actuar como si se hubieran robado es lo más seguro (nuestra opinión).
Rote las credenciales: todo lo alcanzable desde esa máquina o desde CI
El aviso dice que se roten de inmediato todos los secretos y claves guardados en la máquina, desde otro ordenador. No los enumera. Lo siguiente es un añadido nuestro, en línea con lo que la empresa de seguridad describe como alcanzable por el usuario o el trabajo de CI que instaló.
- Tokens de npm y de GitHub, claves de la nube, claves SSH
- Secretos de CI y las credenciales de nube de corta duración emitidas a CI (mediante OIDC)
- Credenciales guardadas en el navegador o en el almacén de contraseñas de la máquina
Preparar la credencial nueva antes de desactivar la antigua evita interrupciones (añadido nuestro). Lo básico sobre dónde guardar las claves está en Qué hace arriesgados los archivos .env y las claves de API.
Fije las versiones y reinstale
- bee-js: fije la 13.2.0 (guía de la empresa de seguridad). No hay versión corregida (aviso)
- Swarm Desktop: actualice a la 0.56.3. Linux no se actualiza automáticamente y necesita una actualización manual (análisis de la empresa de seguridad). La actualización elimina la versión comprometida, pero no deshace lo que ya se ejecutó
Instaló bee-js 13.3.0 / inició Swarm Desktop 0.56.2
Tratar como totalmente comprometido
↓→
Reconstruir la máquina/CI; rotar claves y secretos desde otra máquina
Mover el monedero a una clave nueva y mover los fondos
bee-js 13.2.0 y anteriores / Swarm Desktop 0.56.1
No afectados (análisis de la empresa de seguridad)
↓→
Mantener las versiones fijadas
bee-js 13.2.0, Desktop 0.56.3
Cómo leer esto: no pudimos encontrar un comunicado detallado de la propia Ethersphere
Las versiones afectadas y la respuesta de este artículo proceden del aviso de GitHub y de las notas de versión de Ethersphere. Cuánto tiempo estuvo pública cada versión, quién recibió la actualización automática, a qué se apuntó y el abuso del proceso de publicación proceden del análisis de una empresa de seguridad, no de Ethersphere. A 10 de noviembre de 2026 no pudimos encontrar un comunicado detallado de Ethersphere, así que reescribiremos el texto cuando aparezca una guía oficial.
Qué ocurrió
Esta sección se basa en el aviso de GitHub, las notas de versión de Ethersphere en GitHub y el análisis de una empresa de seguridad. Las horas son UTC salvo indicación contraria, con la hora de Japón entre paréntesis. No se incluyen los puntos de comunicación del malware ni valores de archivos.
6 de noviembre
Según el análisis de la empresa de seguridad, fracasaron los intentos anteriores de extraer secretos de los repositorios de Ethersphere, y la empresa valoró con confianza moderada que no se exfiltraron datos.Hacia el 8 de noviembre
Se hizo un commit malicioso. Su marca de tiempo visible era las 23:59, un valor que puede fijarse arbitrariamente (análisis de la empresa de seguridad).9 de noviembre, 00:09 (09:09)
bee-js 13.3.0 apareció en npm comolatest(análisis de la empresa de seguridad).00:43 a 00:44 (09:43 a 09:44)
Se ofrecieron actualizaciones automáticas de Swarm Desktop 0.56.2 a Windows (x64) desde las 00:43 y a Apple Silicon desde las 00:44 (análisis de la empresa de seguridad).01:24 (10:24)
npm retiró la 13.3.0, unos 75 minutos después de que apareciera (análisis de la empresa de seguridad).Hacia las 09:04 a 09:14 (18:04 a 18:14)
Se borró la etiqueta de Swarm Desktop 0.56.2 y la versión dejó de ser pública, tras unas 8,5 horas (análisis de la empresa de seguridad).9 de noviembre
Se publicó el aviso de GitHub GHSA-hh7j-5m3j-23pf. Ethersphere publicó Swarm Desktop 0.56.3, señalando en las notas de versión que sustituye a la 0.56.2 comprometida.
- Afectado (aviso)
- npm @ethersphere/bee-js 13.3.0 únicamente. Sin versión corregida. Tipo: malware (código malicioso incrustado)
- Indicaciones a los usuarios (aviso)
- Tratar como totalmente comprometido cualquier ordenador donde esté instalado o en ejecución. Eliminar el paquete. La eliminación puede no borrarlo todo. Rotar de inmediato todos los secretos y claves desde otro ordenador
- Swarm Desktop (notas de versión de Ethersphere)
- La versión 0.56.3, publicada el 9 de noviembre, sustituye a la 0.56.2 comprometida. Sin más explicación
- Alcance de la distribución (análisis de la empresa de seguridad)
- bee-js 13.3.0 en npm; Swarm Desktop 0.56.2 como versión de GitHub. Un cargador que descarga y ejecuta código remoto se ejecutó en la instalación o en cada inicio de la aplicación. Los paquetes de Linux no se actualizaron automáticamente pero se vieron afectados igualmente
- A qué se apuntó (análisis de la empresa de seguridad)
- El archivo de configuración del nodo Bee (con una contraseña en texto plano) y su clave de monedero cifrada, además de lo que pudiera alcanzar el usuario o el trabajo de CI que instaló
- Proceso de publicación (análisis de la empresa de seguridad)
- Se tomaron dos cuentas de GitHub (un mantenedor y la automatización de publicación); no se explica el origen. Como el flujo de trabajo de publicación no comprobaba si la rama estaba protegida, el código malicioso se ejecutó dentro del proceso de publicación legítimo
- Daño
- En las fuentes que revisamos no se había publicado ninguna clave robada ni pérdida
Qué se sabe y qué no
El estado a 10 de noviembre de 2026. Actualizaremos la columna de estado cuando se publique más.
| Elemento | Contenido | Estado |
|---|---|---|
| Versión de bee-js afectada | Solo @ethersphere/bee-js 13.3.0; sin versión corregida | Confirmado (aviso de GitHub) |
| Tratamiento de las máquinas afectadas | Tratar como totalmente comprometidas si está instalado o en ejecución | Confirmado (aviso de GitHub) |
| Rotación de claves y secretos | De inmediato, desde otro ordenador | Confirmado (aviso de GitHub) |
| Versión comprometida de Swarm Desktop | 0.56.2; sustituida por la 0.56.3 | Confirmado (Ethersphere) |
| 13.2.0 y anteriores, 0.56.1 | No afectadas | No incluidas (análisis de la empresa de seguridad) |
| Cuánto tiempo estuvo pública cada una | bee-js 13.3.0 unos 75 minutos; Swarm Desktop 0.56.2 unas 8,5 horas | Confirmado (análisis de la empresa de seguridad) |
| Entrega por actualización automática | Entregada a Windows (x64) y Apple Silicon | Confirmado (análisis de la empresa de seguridad) |
| Robo de la clave y la contraseña del nodo | Se apuntó al archivo de configuración (contraseña en texto plano) y a la clave del monedero | Posible (análisis de la empresa de seguridad) |
| Toma del proceso de publicación | Cuentas de GitHub de un mantenedor y de la automatización de publicación | Posible (análisis de la empresa de seguridad) |
| Origen de la toma | No explicado | En investigación |
| Claves robadas o pérdidas reales | No publicado | No se indica |
| Número de usuarios afectados | No publicado | No se indica |
Qué puede ocurrir cuando se manipula un paquete de desarrollo
Lo siguiente es general y no significa que haya ocurrido aquí.
Un paquete npm se ejecuta con los privilegios de quien lo instala, y algunos paquetes ejecutan scripts automáticamente en la instalación. Ejecutado en el PC de un desarrollador o en un trabajo de CI, puede alcanzar las variables de entorno, los archivos y los permisos en la nube que haya allí. Una aplicación de escritorio se ejecuta en cada inicio, de modo que, a través de su mecanismo de actualización, incluso una exposición breve puede llegar a muchas máquinas.
En los nodos de criptomonedas y los entornos de desarrollo, una clave y la contraseña que la desbloquea pueden estar en la misma máquina, de modo que ver una puede llevar a que se muevan los fondos. Lo que distingue este caso del typosquatting es que el código procede del canal de distribución legítimo, con el nombre y la versión legítimos. Casos similares son LiteLLM 1.107.0 y el compromiso de la cadena de suministro de Trivy (en inglés).
Qué deben revisar los usuarios de paquetes
Esta sección no es una valoración de la respuesta de la organización. Se limita a lo que los usuarios pueden hacer para prepararse ante el próximo incidente, a partir del relato publicado.
No descargue automáticamente versiones recién publicadas
La versión maliciosa estuvo en npm unos 75 minutos. Fijar las versiones en un archivo de bloqueo, instalar en CI exactamente lo bloqueado (por ejemplo con npm ci) y usar solo versiones publicadas hace más de un número fijado de días (minimumReleaseAge de pnpm, exclude-newer de uv y similares) hace más difícil recoger una versión que se retira en minutos. El enfoque se explica en Defenderse de los gusanos de la cadena de suministro de npm.
Limite los scripts de instalación a los paquetes que los necesiten
Según el análisis de la empresa de seguridad, el malware de bee-js se ejecutó mediante un script de instalación. Desactivar por defecto los scripts de instalación de las dependencias (--ignore-scripts, una lista de permitidos en pnpm) y permitir solo lo necesario reduce el efecto de este tipo de compromiso (añadido nuestro).
La procedencia no garantiza la seguridad
Según el análisis de la empresa de seguridad, el paquete de npm llevaba atestaciones de procedencia válidas, porque el código malicioso se ejecutó dentro del flujo de trabajo de publicación real. La procedencia muestra dónde se construyó un paquete; no garantiza que el contenido sea seguro (añadido nuestro).
No guarde la clave de un monedero y su contraseña en texto plano en la misma máquina
Según el análisis de la empresa de seguridad, Swarm Desktop guardaba la contraseña en texto plano en un archivo de configuración. Mantener las claves que guardan fondos separadas de los entornos de desarrollo cotidianos hace menos probable que el compromiso de uno lleve directamente a los fondos (añadido nuestro).
Si publica paquetes: compruebe las condiciones de publicación dentro del flujo de trabajo
Para los mantenedores, el análisis de la empresa de seguridad recomienda comprobar dentro del flujo de trabajo de publicación que el commit está en una rama protegida, añadir revisores obligatorios y restricciones de etiquetas a los entornos de publicación, no pasar secretos de firma a flujos de trabajo que se ejecutan en ramas arbitrarias, y acotar y rotar los tokens de los bots de publicación. Si publica paquetes, compruebe los mismos puntos.
Fuentes (registros públicos)
Los hechos de este artículo proceden de la siguiente información pública. No se reproducen puntos finales del malware, nombres de archivo, hashes ni otros valores de indicadores.
- GitHub Advisory Database, «GHSA-hh7j-5m3j-23pf: Malware in @ethersphere/bee-js» (publicado el 9 de noviembre de 2026) — github.com
- Versiones de «swarm-desktop» de Ethersphere en GitHub (v0.56.3, 9 de noviembre de 2026; las notas de versión dicen que sustituye a la 0.56.2 comprometida) — github.com
- Versiones de «bee-js» de Ethersphere en GitHub (consultadas el 10 de noviembre; la última es la v13.2.0) — github.com
- Análisis de una empresa de seguridad, «The bee-js and Swarm Desktop release compromise» (de apoyo; cuánto tiempo estuvo pública cada versión, actualización automática, a qué se apuntó, abuso del proceso de publicación) — socket.dev
Historial de actualizaciones
2026-11-10: Primera versión. Basada en el aviso de GitHub (9 de noviembre de 2026), las notas de versión de Ethersphere en GitHub y el análisis de una empresa de seguridad. No pudimos encontrar un comunicado detallado de la propia Ethersphere. Actualizaremos cuando se publique una guía oficial.
Lectura recomendada
- Orden para revocar tokens robados: Defenderse de los gusanos de la cadena de suministro de npm
- Incidentes del mismo tipo: LiteLLM 1.107.0 distribuyó un ladrón de credenciales / Qué hacer si usa Trivy en CI tras el compromiso de la cadena de suministro (en inglés)
- Dónde viven los secretos: Qué hace arriesgados los archivos .env y las claves de API
- Auditar dependencias: Auditar dependencias con OSV-Scanner
- Términos: Qué es el malware / Qué es una puerta trasera
- Otros incidentes de 2026: Filtraciones de datos y ciberataques de 2026 (en inglés)