Para: desenvolvedores e operadores de CI que usam o pacote npm do Swarm (Ethersphere) @ethersphere/bee-js, e pessoas que executam um nó Swarm com o Swarm Desktop. Este artigo se baseia no aviso do GitHub e no que a Ethersphere publicou no GitHub. Não trata de como o malware funciona nem de indicadores de comprometimento (IoCs).
Em andamento: este artigo será atualizado conforme a organização publicar mais informações
- Quem é afetado
desenvolvedores e operadores de CI que usam o pacote npm do Swarm (Ethersphere) @ethersphere/bee-js, e pessoas que executam um nó Swarm com o Swarm Desktop.
- Confirmado até agoraVer a tabela ↓
- Versão do bee-js afetada
- Tratamento das máquinas afetadas
- Troca de chaves e segredos
Mais 3
- Versão comprometida do Swarm Desktop
- Por quanto tempo cada uma ficou pública
- Entrega por atualização automática
Apontado como possivelmente afetado
- Roubo da chave e da senha do nó
- Tomada do processo de publicação
- Ainda não confirmado
- Se alguma chave foi roubada ou fundos foram perdidos
- Como a intrusão ocorreu (o relato da própria Ethersphere)
- Um relatório detalhado e orientação aos usuários da Ethersphere
Mais 1
- Quantos usuários foram afetados
- O que fazer agoraVer os passos ↓
- Verifique se você foi afetado: procure a 13.3.0 e a 0.56.2
- Se afetado: trate a máquina ou o ambiente de CI como comprometido
- Operadores de nós Swarm: crie uma chave nova e mova os fundos
Mais 2
- Troque as credenciais: tudo que era alcançável a partir dessa máquina ou do CI
- Fixe as versões e reinstale
- Onde verificar (fonte)Todas as fontes ↓
- GitHub Advisory Database, “GHSA-hh7j-5m3j-23pf: Malware in @ethersphere/bee-js” (publicado em 9 de novembro de 2026)
- Última verificação
- Em 10 de novembro de 2026
Próximos avisos e o que verificamos
O aviso do GitHub foi publicado em 9 de novembro de 2026. Quando verificamos em 10 de novembro de 2026, a página de versões do bee-js da Ethersphere ainda mostrava a 13.2.0 como a mais recente, sem entrada para a 13.3.0. As notas de versão do Swarm Desktop 0.56.3 dizem apenas que substituem a 0.56.2 comprometida. Não encontramos um comunicado da própria Ethersphere explicando o que aconteceu ou orientando os usuários.
O que os usuários do bee-js e do Swarm Desktop devem fazer hoje
O passo 1 vale para todos. Do passo 2 em diante, se você instalou (ou iniciou) uma versão afetada.
Verifique se você foi afetado: procure a 13.3.0 e a 0.56.2
- bee-js: verifique arquivos de lock,
node_modules, caches de pacotes, espelhos internos de pacotes e logs de CI em busca de@ethersphere/bee-js13.3.0. O aviso lista a 13.3.0 como a única versão afetada - Swarm Desktop: verifique se a versão do aplicativo era a 0.56.2 e se você o iniciou. Segundo a análise da empresa de segurança, ele também foi entregue por atualização automática no Windows x64 e no Apple Silicon
- bee-js 13.2.0 e anteriores, e Swarm Desktop 0.56.1, não são afetados (análise da empresa de segurança)
- Se não puder saber, trate como afetado (acréscimo nosso)
Se afetado: trate a máquina ou o ambiente de CI como comprometido
O aviso diz para tratar como totalmente comprometido qualquer computador com o pacote instalado ou em execução, e para remover o pacote. Alerta que a remoção pode não eliminar todo o software malicioso causado pela instalação.
- Desconecte a máquina da rede e, se possível, reconstrua-a. Recrie os executores de CI descartáveis
- Faça o resto do trabalho a partir de outro computador não comprometido
Operadores de nós Swarm: crie uma chave nova e mova os fundos
Segundo a análise da empresa de segurança, o arquivo de configuração do nó Bee (que inclui uma senha em texto simples) e sua chave de carteira criptografada foram alvos. A orientação dela:
- Suponha que a senha e a chave da carteira foram roubadas
- Crie uma chave nova em uma máquina limpa e mova para ela os fundos, os saldos do chequebook e o stake
- Procure a persistência deixada pelo malware (entradas de inicialização automática em nível de usuário, software de controle remoto). Reinstalar o aplicativo pode não removê-la
Não foi divulgado se alguma chave foi realmente roubada nem se houve alguma perda. Até poder confirmar o contrário, agir como se tivessem sido roubadas é o caminho seguro (nossa opinião).
Troque as credenciais: tudo que era alcançável a partir dessa máquina ou do CI
O aviso diz para trocar imediatamente todos os segredos e chaves guardados na máquina, a partir de outro computador. Ele não os lista. O seguinte é um acréscimo nosso, de acordo com o que a empresa de segurança descreve como alcançável pelo usuário ou pelo job de CI que instalou.
- Tokens do npm e do GitHub, chaves de nuvem, chaves SSH
- Segredos de CI e as credenciais de nuvem de curta duração emitidas ao CI (via OIDC)
- Credenciais salvas no navegador ou no repositório de senhas da máquina
Preparar a nova credencial antes de desativar a antiga evita indisponibilidade (acréscimo nosso). O básico sobre onde guardar chaves está em O que torna arriscados os arquivos .env e as chaves de API.
Fixe as versões e reinstale
- bee-js: fixe na 13.2.0 (orientação da empresa de segurança). Não há versão corrigida (aviso)
- Swarm Desktop: atualize para a 0.56.3. O Linux não é atualizado automaticamente e precisa de atualização manual (análise da empresa de segurança). A atualização remove a versão comprometida, mas não desfaz o que já foi executado
Instalou o bee-js 13.3.0 / iniciou o Swarm Desktop 0.56.2
Tratar como totalmente comprometido
↓→
Reconstruir a máquina/CI; trocar chaves e segredos a partir de outra máquina
Mover a carteira para uma chave nova e mover os fundos
bee-js 13.2.0 e anteriores / Swarm Desktop 0.56.1
Não afetados (análise da empresa de segurança)
↓→
Manter as versões fixadas
bee-js 13.2.0, Desktop 0.56.3
Como ler isto: não encontramos um comunicado detalhado da própria Ethersphere
As versões afetadas e a resposta neste artigo vêm do aviso do GitHub e das notas de versão da Ethersphere. Por quanto tempo cada versão ficou pública, quem recebeu a atualização automática, o que foi alvo e o abuso do processo de publicação vêm da análise de uma empresa de segurança, não da Ethersphere. Em 10 de novembro de 2026 não encontramos um comunicado detalhado da Ethersphere, então reescreveremos o texto quando surgir uma orientação oficial.
O que aconteceu
Esta seção se baseia no aviso do GitHub, nas notas de versão da Ethersphere no GitHub e na análise de uma empresa de segurança. Os horários são UTC, salvo indicação em contrário, com o horário do Japão entre parênteses. Não se incluem os pontos de comunicação do malware nem valores de arquivos.
6 de novembro
Segundo a análise da empresa de segurança, tentativas anteriores de extrair segredos dos repositórios da Ethersphere fracassaram, e a empresa avaliou com confiança moderada que nenhum dado foi exfiltrado.Por volta de 8 de novembro
Foi feito um commit malicioso. Seu carimbo de data e hora exibido era 23:59, um valor que pode ser definido arbitrariamente (análise da empresa de segurança).9 de novembro, 00:09 (09:09)
O bee-js 13.3.0 apareceu no npm comolatest(análise da empresa de segurança).00:43 a 00:44 (09:43 a 09:44)
Atualizações automáticas do Swarm Desktop 0.56.2 foram oferecidas ao Windows (x64) a partir das 00:43 e ao Apple Silicon a partir das 00:44 (análise da empresa de segurança).01:24 (10:24)
O npm removeu a 13.3.0, cerca de 75 minutos depois de ela aparecer (análise da empresa de segurança).Por volta das 09:04 a 09:14 (18:04 a 18:14)
A tag do Swarm Desktop 0.56.2 foi excluída e a versão deixou de ser pública, após cerca de 8,5 horas (análise da empresa de segurança).9 de novembro
O aviso do GitHub GHSA-hh7j-5m3j-23pf foi publicado. A Ethersphere lançou o Swarm Desktop 0.56.3, observando nas notas de versão que ele substitui a 0.56.2 comprometida.
- Afetado (aviso)
- npm @ethersphere/bee-js 13.3.0 somente. Sem versão corrigida. Tipo: malware (código malicioso embutido)
- Orientação aos usuários (aviso)
- Tratar como totalmente comprometido qualquer computador onde esteja instalado ou em execução. Remover o pacote. A remoção pode não eliminar tudo. Trocar imediatamente todos os segredos e chaves a partir de outro computador
- Swarm Desktop (notas de versão da Ethersphere)
- A versão 0.56.3, lançada em 9 de novembro, substitui a 0.56.2 comprometida. Sem mais explicação
- Alcance da distribuição (análise da empresa de segurança)
- bee-js 13.3.0 no npm; Swarm Desktop 0.56.2 como versão do GitHub. Um carregador que baixa e executa código remoto rodou na instalação ou a cada inicialização do aplicativo. Os pacotes do Linux não foram atualizados automaticamente, mas foram afetados mesmo assim
- O que foi alvo (análise da empresa de segurança)
- O arquivo de configuração do nó Bee (com uma senha em texto simples) e sua chave de carteira criptografada, além do que o usuário ou o job de CI que instalou podia alcançar
- Processo de publicação (análise da empresa de segurança)
- Duas contas do GitHub (um mantenedor e a automação de publicação) foram tomadas; a origem não é explicada. Como o fluxo de trabalho de publicação não verificava se o branch era protegido, o código malicioso rodou dentro do processo de publicação legítimo
- Dano
- Nenhuma chave roubada nem perda havia sido divulgada nas fontes que verificamos
O que se sabe e o que não se sabe
A situação em 10 de novembro de 2026. Atualizaremos a coluna de situação quando mais for divulgado.
| Item | Conteúdo | Situação |
|---|---|---|
| Versão do bee-js afetada | Somente @ethersphere/bee-js 13.3.0; sem versão corrigida | Confirmado (aviso do GitHub) |
| Tratamento das máquinas afetadas | Tratar como totalmente comprometidas se instalado ou em execução | Confirmado (aviso do GitHub) |
| Troca de chaves e segredos | Imediatamente, a partir de outro computador | Confirmado (aviso do GitHub) |
| Versão comprometida do Swarm Desktop | 0.56.2; substituída pela 0.56.3 | Confirmado (Ethersphere) |
| 13.2.0 e anteriores, 0.56.1 | Não afetadas | Não incluídas (análise da empresa de segurança) |
| Por quanto tempo cada uma ficou pública | bee-js 13.3.0 cerca de 75 minutos; Swarm Desktop 0.56.2 cerca de 8,5 horas | Confirmado (análise da empresa de segurança) |
| Entrega por atualização automática | Entregue ao Windows (x64) e ao Apple Silicon | Confirmado (análise da empresa de segurança) |
| Roubo da chave e da senha do nó | O arquivo de configuração (senha em texto simples) e a chave da carteira foram alvos | Possível (análise da empresa de segurança) |
| Tomada do processo de publicação | Contas do GitHub de um mantenedor e da automação de publicação | Possível (análise da empresa de segurança) |
| Origem da tomada | Não explicada | Em investigação |
| Chaves roubadas ou perdas reais | Não divulgado | Não informado |
| Número de usuários afetados | Não divulgado | Não informado |
O que pode acontecer quando um pacote de desenvolvimento é adulterado
O seguinte é geral e não significa que tenha acontecido aqui.
Um pacote npm roda com os privilégios de quem o instala, e alguns pacotes executam scripts automaticamente na instalação. Executado no PC de um desenvolvedor ou em um job de CI, pode alcançar as variáveis de ambiente, os arquivos e as permissões de nuvem que houver ali. Um aplicativo de desktop roda a cada inicialização, então, por meio do seu mecanismo de atualização, até uma exposição curta pode alcançar muitas máquinas.
Em nós de criptomoedas e ambientes de desenvolvimento, uma chave e a senha que a destrava podem estar na mesma máquina, então ver uma pode levar à movimentação dos fundos. O que distingue este caso do typosquatting é que o código vem do canal de distribuição legítimo, com o nome e a versão legítimos. Casos semelhantes são LiteLLM 1.107.0 e o comprometimento da cadeia de suprimentos do Trivy (em inglês).
O que os usuários de pacotes devem revisar
Esta seção não é uma avaliação da resposta da organização. Limita-se ao que os usuários podem fazer para se preparar para o próximo incidente, a partir do relato publicado.
Não baixe automaticamente versões recém-publicadas
A versão maliciosa ficou no npm por cerca de 75 minutos. Fixar versões em um arquivo de lock, instalar no CI exatamente o que está travado (por exemplo com npm ci) e usar apenas versões publicadas há mais de um número definido de dias (minimumReleaseAge do pnpm, exclude-newer do uv e similares) dificulta pegar uma versão que é retirada em minutos. A abordagem é explicada em Defendendo-se de worms na cadeia de suprimentos do npm.
Limite os scripts de instalação aos pacotes que precisam deles
Segundo a análise da empresa de segurança, o malware do bee-js rodou por meio de um script de instalação. Desativar por padrão os scripts de instalação das dependências (--ignore-scripts, uma lista de permissões no pnpm) e permitir apenas o necessário reduz o efeito desse tipo de comprometimento (acréscimo nosso).
Procedência não garante segurança
Segundo a análise da empresa de segurança, o pacote do npm tinha atestações de procedência válidas, porque o código malicioso rodou dentro do fluxo de trabalho de publicação real. A procedência mostra onde um pacote foi construído; não garante que o conteúdo seja seguro (acréscimo nosso).
Não guarde a chave de uma carteira e sua senha em texto simples na mesma máquina
Segundo a análise da empresa de segurança, o Swarm Desktop guardava a senha em texto simples em um arquivo de configuração. Manter chaves que guardam fundos separadas dos ambientes de desenvolvimento do dia a dia torna menos provável que o comprometimento de um leve direto aos fundos (acréscimo nosso).
Se você publica pacotes: verifique as condições de publicação dentro do fluxo de trabalho
Para mantenedores, a análise da empresa de segurança recomenda verificar dentro do fluxo de trabalho de publicação que o commit está em um branch protegido, adicionar revisores obrigatórios e restrições de tags aos ambientes de publicação, não passar segredos de assinatura a fluxos de trabalho que rodam em branches arbitrários, e restringir e trocar os tokens dos bots de publicação. Se você publica pacotes, verifique os mesmos pontos.
Fontes (registros públicos)
Os fatos deste artigo vêm das informações públicas abaixo. Não se reproduzem pontos finais do malware, nomes de arquivos, hashes nem outros valores de indicadores.
- GitHub Advisory Database, “GHSA-hh7j-5m3j-23pf: Malware in @ethersphere/bee-js” (publicado em 9 de novembro de 2026) — github.com
- Versões do “swarm-desktop” da Ethersphere no GitHub (v0.56.3, 9 de novembro de 2026; as notas de versão dizem que substitui a 0.56.2 comprometida) — github.com
- Versões do “bee-js” da Ethersphere no GitHub (verificadas em 10 de novembro; a mais recente é a v13.2.0) — github.com
- Análise de uma empresa de segurança, “The bee-js and Swarm Desktop release compromise” (de apoio; por quanto tempo cada versão ficou pública, atualização automática, o que foi alvo, abuso do processo de publicação) — socket.dev
Histórico de atualizações
2026-11-10: Primeira versão. Com base no aviso do GitHub (9 de novembro de 2026), nas notas de versão da Ethersphere no GitHub e na análise de uma empresa de segurança. Não encontramos um comunicado detalhado da própria Ethersphere. Atualizaremos quando uma orientação oficial for publicada.
Leia em seguida
- Ordem para revogar tokens roubados: Defendendo-se de worms na cadeia de suprimentos do npm
- Incidentes do mesmo tipo: O LiteLLM 1.107.0 distribuiu um ladrão de credenciais / O que fazer se você usa o Trivy no CI após o comprometimento da cadeia de suprimentos (em inglês)
- Onde ficam os segredos: O que torna arriscados os arquivos .env e as chaves de API
- Auditar dependências: Auditando dependências com o OSV-Scanner
- Termos: O que é malware / O que é um backdoor
- Outros incidentes de 2026: Vazamentos de dados e ciberataques de 2026 (em inglês)