보안 가이드

Ethersphere bee-js 13.3.0과 Swarm Desktop 0.56.2에 악성코드가 배포됨(2026년 11월): 영향받는 버전과 사용자가 해야 할 일

Ethersphere(Swarm)의 bee-js 13.3.0과 Swarm Desktop 0.56.2가 2026년 11월 9일 악성 코드를 배포했습니다. GitHub 권고에 따른 영향받는 버전과 대처법.

게시 2026-11-10 업데이트 2026-11-10 최종 확인 2026-11-10 11분 읽기
이 페이지에서

대상: Swarm(Ethersphere)의 npm 패키지 @ethersphere/bee-js를 쓰는 개발자와 CI 운영자, Swarm Desktop으로 Swarm 노드를 운영하는 사람. 이 글은 GitHub 권고와 Ethersphere가 GitHub에 게시한 내용을 바탕으로 하며, 악성코드의 동작 방식이나 침해 지표(IoC)는 다루지 않습니다.

진행 중: 조직이 추가 정보를 발표하는 대로 이 글을 업데이트합니다

대상

Swarm(Ethersphere)의 npm 패키지 @ethersphere/bee-js를 쓰는 개발자와 CI 운영자, Swarm Desktop으로 Swarm 노드를 운영하는 사람.

확인된 영향 범위표 보기 ↓
  • 영향받는 bee-js 버전
  • 영향받은 머신의 취급
  • 키와 비밀 정보 교체
3개 더 보기
  • 침해된 Swarm Desktop 버전
  • 각 버전이 공개된 시간
  • 자동 업데이트로의 전달

가능성이 있다고 한 항목

  • 노드 키와 비밀번호의 도난
  • 릴리스 과정의 탈취
아직 확인되지 않은 사항
  • 키가 도난당하거나 자금이 손실되었는지
  • 침입이 어떻게 일어났는지(Ethersphere 자체의 설명)
  • Ethersphere의 자세한 보고서와 사용자 안내
1개 더 보기
  • 영향을 받은 사용자 수
지금 할 일절차 보기 ↓
  1. 영향을 받았는지 확인: 13.3.0과 0.56.2를 찾기
  2. 영향을 받았다면: 머신이나 CI 환경을 침해된 것으로 취급
  3. Swarm 노드 운영자: 새 키를 만들고 자금을 옮기기
2개 더 보기
  1. 자격 증명 교체: 그 머신이나 CI에서 닿을 수 있던 모든 것
  2. 버전을 고정하고 재설치
마지막 확인
2026년 11월 10일 기준
후속 발표 예정과 확인 기록

GitHub 권고는 2026년 11월 9일에 공개되었습니다. 2026년 11월 10일에 확인했을 때 Ethersphere의 bee-js 릴리스 페이지에는 여전히 13.2.0이 최신으로 올라 있었고 13.3.0 항목은 없었습니다. Swarm Desktop 0.56.3의 릴리스 노트는 침해된 0.56.2를 대체한다고만 밝힙니다. 무슨 일이 있었는지 설명하거나 사용자에게 안내하는 Ethersphere 자체의 공지는 찾지 못했습니다.

bee-js와 Swarm Desktop 사용자가 오늘 해야 할 일

1단계는 모든 사람에게 해당합니다. 2단계부터는 영향받는 버전을 설치(또는 실행)했다면 해당합니다.

1

영향을 받았는지 확인: 13.3.0과 0.56.2를 찾기

  • bee-js: 잠금 파일, node_modules, 패키지 캐시, 사내 패키지 미러, CI 로그에서 @ethersphere/bee-js 13.3.0을 확인하세요. 권고는 13.3.0만 영향받는 버전으로 나열합니다
  • Swarm Desktop: 앱 버전이 0.56.2였는지, 실행했는지 확인하세요. 보안 업체의 분석에 따르면 Windows x64와 Apple Silicon에는 자동 업데이트로도 전달되었습니다
  • bee-js 13.2.0 이하와 Swarm Desktop 0.56.1은 영향이 없습니다(보안 업체의 분석)
  • 판단할 수 없다면 영향을 받은 것으로 취급하세요(우리의 의견)
2

영향을 받았다면: 머신이나 CI 환경을 침해된 것으로 취급

권고는 패키지가 설치되었거나 실행 중인 컴퓨터를 완전히 침해된 것으로 간주하고 패키지를 삭제하라고 밝힙니다. 삭제로 설치가 만든 악성 소프트웨어가 모두 지워지지 않을 수 있다고 경고합니다.

  • 머신을 네트워크에서 분리하고, 가능하면 다시 구축하세요. 일회용 CI 러너는 다시 만드세요
  • 나머지 작업은 침해되지 않은 다른 컴퓨터에서 하세요
3

Swarm 노드 운영자: 새 키를 만들고 자금을 옮기기

보안 업체의 분석에 따르면 Bee 노드의 설정 파일(평문 비밀번호가 들어 있음)과 암호화된 지갑 키가 노려졌습니다. 그 업체의 권고는 다음과 같습니다.

  • 비밀번호와 지갑 키가 도난당했다고 가정하세요
  • 깨끗한 머신에서 새 키를 만들고 자금, 체크북 잔액, 스테이크를 옮기세요
  • 악성코드가 남긴 지속 수단(사용자 수준 자동 시작 항목, 원격 제어 소프트웨어)을 찾아보세요. 앱을 재설치해도 지워지지 않을 수 있습니다

실제로 키가 도난당했는지, 손실이 있었는지는 공개되지 않았습니다. 달리 확인할 수 있을 때까지는 도난당한 것처럼 행동하는 것이 안전합니다(우리의 의견).

4

자격 증명 교체: 그 머신이나 CI에서 닿을 수 있던 모든 것

권고는 머신에 저장된 모든 비밀 정보와 키를 다른 컴퓨터에서 즉시 교체하라고 밝힙니다. 목록은 제시하지 않습니다. 다음은 설치한 사용자나 CI 작업이 닿을 수 있던 것에 대한 보안 업체의 설명에 맞춘 우리의 추가 의견입니다.

  • npm과 GitHub 토큰, 클라우드 키, SSH 키
  • CI 비밀 정보와, CI에 발급된 단기 클라우드 자격 증명(OIDC)
  • 그 머신의 브라우저나 비밀번호 저장소에 저장된 자격 증명

새 자격 증명을 먼저 설정하고 기존 것을 비활성화하면 서비스 중단을 피할 수 있습니다(우리의 추가 의견). 키를 어디에 보관할지의 기본은 .env 파일과 API 키가 위험한 이유에서 다룹니다.

5

버전을 고정하고 재설치

  • bee-js: 13.2.0에 고정하세요(보안 업체의 권고). 패치된 버전은 없습니다(권고)
  • Swarm Desktop: 0.56.3으로 업데이트하세요. Linux는 자동 업데이트되지 않아 수동으로 업데이트해야 합니다(보안 업체의 분석). 업데이트는 침해된 버전을 제거하지만 이미 실행된 것을 되돌리지는 않습니다

bee-js 13.3.0 설치 / Swarm Desktop 0.56.2 실행

완전히 침해된 것으로 취급

↓

머신/CI를 다시 구축하고, 다른 머신에서 키와 비밀 정보 교체

지갑을 새 키로 옮기고 자금 이동

bee-js 13.2.0 이하 / Swarm Desktop 0.56.1

영향 없음(보안 업체의 분석)

↓

버전 고정 유지

bee-js 13.2.0, Desktop 0.56.3

상황별로 해야 할 일. GitHub 권고와 보안 업체의 분석에 근거합니다.

읽는 법: Ethersphere 자체의 자세한 공지는 찾지 못했습니다

이 글의 영향받는 버전과 대처는 GitHub 권고와 Ethersphere의 릴리스 노트에서 가져왔습니다. 각 버전이 공개된 시간, 자동 업데이트를 받은 대상, 노려진 것, 릴리스 과정의 악용은 Ethersphere가 아니라 한 보안 업체의 분석에서 가져왔습니다. 2026년 11월 10일 기준 Ethersphere의 자세한 공지는 찾지 못했으며, 공식 안내가 나오면 본문을 다시 쓰겠습니다.

무슨 일이 있었나요

이 절은 GitHub 권고, Ethersphere가 GitHub에 올린 릴리스 노트, 한 보안 업체의 분석을 바탕으로 합니다. 시각은 따로 적지 않으면 UTC이며 일본 시간은 괄호 안에 적었습니다. 악성코드의 통신 대상과 파일 값은 싣지 않았습니다.

  1. 11월 6일

    보안 업체의 분석에 따르면 Ethersphere 저장소에서 비밀 정보를 빼내려는 이전 시도는 실패했으며, 업체는 보통 수준의 확신으로 데이터가 반출되지 않았다고 평가했습니다.
  2. 11월 8일경

    악성 커밋이 만들어졌습니다. 표시된 타임스탬프는 23:59였는데, 이 값은 임의로 설정할 수 있습니다(보안 업체의 분석).
  3. 11월 9일 00:09(09:09)

    bee-js 13.3.0이 npm에 latest로 올라왔습니다(보안 업체의 분석).
  4. 00:43부터 00:44(09:43부터 09:44)

    Swarm Desktop 0.56.2의 자동 업데이트가 Windows(x64)에는 00:43부터, Apple Silicon에는 00:44부터 제공되었습니다(보안 업체의 분석).
  5. 01:24(10:24)

    npm이 올라온 지 약 75분 뒤 13.3.0을 삭제했습니다(보안 업체의 분석).
  6. 약 09:04부터 09:14(18:04부터 18:14)

    Swarm Desktop 0.56.2 태그가 삭제되고 릴리스가 비공개가 되었습니다. 약 8.5시간이 지난 시점이었습니다(보안 업체의 분석).
  7. 11월 9일

    GitHub 권고 GHSA-hh7j-5m3j-23pf가 공개되었습니다. Ethersphere는 Swarm Desktop 0.56.3을 공개하고, 릴리스 노트에 침해된 0.56.2를 대체한다고 적었습니다.
약 75분
bee-js 13.3.0이 npm에 있던 시간(보안 업체의 분석)
약 8.5시간
Swarm Desktop 0.56.2가 공개되어 있던 시간(보안 업체의 분석)
13.3.0만
권고가 밝힌 영향받는 bee-js 버전. 패치된 버전 없음
13.2.0 이하
영향 없음(보안 업체의 분석)
공식 발표와 보안 업체의 분석
영향 대상(권고)
npm @ethersphere/bee-js 13.3.0만. 패치된 버전 없음. 유형: 악성코드(삽입된 악성 코드)
사용자 안내(권고)
설치되었거나 실행 중인 컴퓨터는 완전히 침해된 것으로 간주. 패키지 삭제. 삭제로 모두 지워지지 않을 수 있음. 모든 비밀 정보와 키를 다른 컴퓨터에서 즉시 교체
Swarm Desktop(Ethersphere 릴리스 노트)
11월 9일 공개된 0.56.3이 침해된 0.56.2를 대체. 그 밖의 설명은 없음
배포 범위(보안 업체의 분석)
npm의 bee-js 13.3.0과 GitHub 릴리스의 Swarm Desktop 0.56.2. 원격 코드를 내려받아 실행하는 로더가 설치 시 또는 앱을 실행할 때마다 동작. Linux 패키지는 자동 업데이트되지 않았지만 영향은 받았음
노려진 것(보안 업체의 분석)
Bee 노드의 설정 파일(평문 비밀번호 포함)과 암호화된 지갑 키, 그리고 설치한 사용자나 CI 작업이 닿을 수 있던 모든 것
릴리스 과정(보안 업체의 분석)
GitHub 계정 두 개(메인테이너와 릴리스 자동화)가 탈취됨. 경위는 설명되지 않음. 게시 워크플로가 보호된 브랜치를 확인하지 않았으므로 악성 코드가 정상 게시 과정 안에서 실행됨
피해
확인한 출처에는 도난당한 키나 손실이 공개되어 있지 않음

확인된 내용과 확인되지 않은 내용

2026년 11월 10일 기준 상태입니다. 추가로 발표되면 상태 열을 업데이트합니다.

항목내용상태
영향받는 bee-js 버전@ethersphere/bee-js 13.3.0만. 패치된 버전 없음확인됨(GitHub 권고)
영향받은 머신의 취급설치되었거나 실행 중이면 완전히 침해된 것으로 취급확인됨(GitHub 권고)
키와 비밀 정보 교체다른 컴퓨터에서 즉시확인됨(GitHub 권고)
침해된 Swarm Desktop 버전0.56.2. 0.56.3으로 대체됨확인됨(Ethersphere)
13.2.0 이하, 0.56.1영향 없음포함되지 않음(보안 업체의 분석)
각 버전이 공개된 시간bee-js 13.3.0은 약 75분, Swarm Desktop 0.56.2는 약 8.5시간확인됨(보안 업체의 분석)
자동 업데이트로의 전달Windows(x64)와 Apple Silicon에 전달됨확인됨(보안 업체의 분석)
노드 키와 비밀번호의 도난설정 파일(평문 비밀번호)과 지갑 키가 노려짐가능성(보안 업체의 분석)
릴리스 과정의 탈취GitHub 메인테이너 계정과 릴리스 자동화 계정가능성(보안 업체의 분석)
탈취의 시작 경위설명되지 않음조사 중
실제로 도난당한 키나 손실공개되지 않음명시되지 않음
영향받은 사용자 수공개되지 않음명시되지 않음

개발용 패키지가 변조되면 어떤 일이 일어날 수 있나요

다음은 일반론이며 이번에 이런 일이 일어났다는 뜻은 아닙니다.

npm 패키지는 설치하는 사람의 권한으로 실행되며, 일부 패키지는 설치 시 스크립트를 자동으로 실행합니다. 개발자 PC나 CI 작업에서 실행되면 그곳의 환경 변수, 파일, 클라우드 권한에 닿을 수 있습니다. 데스크톱 앱은 실행할 때마다 동작하므로, 업데이트 메커니즘을 통해 짧은 노출로도 많은 머신에 닿을 수 있습니다.

암호화폐 노드와 개발 환경에서는 키와 그것을 여는 비밀번호가 같은 머신에 있는 경우가 있어, 하나를 보면 자금 이동으로 이어질 수 있습니다. 타이포스쿼팅과 다른 점은 코드가 정상적인 배포 경로를 통해 정상적인 이름과 버전으로 온다는 것입니다. 비슷한 사례로 LiteLLM 1.107.0과 Trivy 공급망 침해가 있습니다.

패키지 사용자가 점검할 점

이 절은 조직의 대응을 평가하는 것이 아닙니다. 공개된 경위를 바탕으로, 다음 사고에 대비해 사용자가 할 수 있는 것에 한정합니다.

1

막 공개된 버전을 자동으로 받지 않기

악성 버전은 npm에 약 75분 있었습니다. 잠금 파일로 버전을 고정하고, CI에서는 잠금대로 정확히 설치하고(예: npm ci), 공개된 지 정해진 일수가 지난 버전만 쓰면(pnpm의 minimumReleaseAge, uv의 exclude-newer 등) 몇 분 안에 회수되는 버전을 받아 오기 어려워집니다. 방법은 npm 공급망 웜 방어에서 다룹니다.

2

설치 시 스크립트는 필요한 패키지에만 허용

보안 업체의 분석에 따르면 bee-js의 악성코드는 설치 시 스크립트로 실행되었습니다. 의존성의 설치 스크립트를 기본으로 끄고(--ignore-scripts, pnpm의 허용 목록) 필요한 것만 허용하면 이런 침해의 영향을 줄일 수 있습니다(우리의 추가 의견).

3

출처 증명(provenance)이 안전을 보장하지는 않음

보안 업체의 분석에 따르면 악성 코드가 실제 게시 워크플로 안에서 실행되었기 때문에 npm 패키지에는 유효한 출처 증명이 붙어 있었습니다. 출처 증명은 패키지가 어디서 빌드되었는지를 보여 줄 뿐 내용이 안전하다는 것을 보장하지는 않습니다(우리의 추가 의견).

4

지갑 키와 비밀번호를 같은 머신에 평문으로 두지 않기

보안 업체의 분석에 따르면 Swarm Desktop은 비밀번호를 설정 파일에 평문으로 보관했습니다. 자금이 걸린 키를 일상적인 개발 환경과 분리하면 한쪽이 침해되어도 곧바로 자금으로 이어질 가능성이 줄어듭니다(우리의 추가 의견).

5

패키지를 게시한다면: 워크플로 안에서 릴리스 조건 확인

메인테이너에게 보안 업체의 분석은 게시 워크플로 안에서 커밋이 보호된 브랜치에 있는지 확인하고, 게시 환경에 필수 리뷰어와 태그 제한을 추가하고, 임의의 브랜치에서 실행되는 워크플로에 서명용 비밀 정보를 넘기지 않으며, 릴리스 봇 토큰을 좁히고 교체하라고 권고합니다. 패키지를 게시한다면 같은 점을 점검하세요.

출처(공개 자료)

이 글의 사실은 아래 공개 정보에 근거합니다. 악성코드의 통신 대상, 파일 이름, 해시 같은 지표 값은 싣지 않았습니다.

  • GitHub Advisory Database, 「GHSA-hh7j-5m3j-23pf: Malware in @ethersphere/bee-js」(2026년 11월 9일 공개) — github.com
  • Ethersphere "swarm-desktop" GitHub 릴리스(v0.56.3, 2026년 11월 9일. 릴리스 노트는 침해된 0.56.2를 대체한다고 밝힘) — github.com
  • Ethersphere "bee-js" GitHub 릴리스(11월 10일 확인. 최신은 v13.2.0) — github.com
  • 한 보안 업체의 분석, 「The bee-js and Swarm Desktop release compromise」(보조 자료. 각 버전이 공개된 시간, 자동 업데이트, 노려진 것, 릴리스 과정의 악용) — socket.dev

업데이트 기록

2026-11-10: 최초 버전. GitHub 권고(2026년 11월 9일), Ethersphere가 GitHub에 게시한 릴리스 노트, 한 보안 업체의 분석을 바탕으로 작성했습니다. Ethersphere 자체의 자세한 공지는 찾지 못했습니다. 공식 안내가 나오면 업데이트합니다.

다음으로 읽기

최신 속보

FAQ

Q어떤 버전이 영향을 받나요?
A

GitHub 권고(GHSA-hh7j-5m3j-23pf)에 따르면 영향받는 npm 버전은 @ethersphere/bee-js 13.3.0뿐이며 패치된 버전은 없습니다. Swarm Desktop은 Ethersphere의 릴리스 노트에 따르면 0.56.3이 침해된 0.56.2를 대체합니다. 한 보안 업체의 분석은 bee-js 13.2.0 이하와 Swarm Desktop 0.56.1은 영향이 없다고 보고합니다.

Q영향을 받았는지 어떻게 확인하나요?
A

bee-js는 잠금 파일, 캐시, 사내 패키지 미러, CI 로그에서 13.3.0을 찾아보세요. Swarm Desktop은 앱 버전이 0.56.2였는지, 실행한 적이 있는지 확인하세요. 보안 업체의 분석에 따르면 Windows x64와 Apple Silicon 사용자는 자동 업데이터로 받을 수 있었으므로 직접 설치하지 않았어도 영향을 받았을 수 있습니다. 판단할 수 없다면 영향을 받은 것으로 취급하세요(우리의 의견).

Q13.3.0을 삭제하면 충분한가요?
A

아닙니다. GitHub 권고는 패키지가 설치되었거나 실행 중인 컴퓨터는 완전히 침해된 것으로 간주해야 한다고 밝힙니다. 패키지를 삭제하라고 하면서도, 삭제로 설치가 만든 악성 소프트웨어가 모두 지워지지 않을 수 있다고 경고하고, 모든 비밀 정보와 키를 다른 컴퓨터에서 즉시 교체하라고 합니다.

QSwarm 노드의 지갑과 자금은 어떻게 해야 하나요?
A

보안 업체의 분석에 따르면 Bee 노드의 설정 파일(평문 비밀번호가 들어 있음)과 암호화된 지갑 키가 노려졌습니다. 비밀번호와 키가 도난당했다고 가정하고, 깨끗한 머신에서 만든 새 키로 자금, 체크북 잔액, 스테이크를 옮기라고 권고합니다. 이 글을 쓸 때 Ethersphere 자체의 안내는 찾지 못했습니다. 실제로 키가 도난당했는지, 손실이 있었는지는 공개되지 않았습니다.

Q원인은 무엇이었나요?
A

이 글을 쓸 때 Ethersphere의 자세한 설명은 찾지 못했습니다. 보안 업체의 분석은 GitHub 계정 두 개가 탈취되었다고 보고합니다. 보호되지 않은 브랜치에 강제 푸시할 수 있던 메인테이너 계정과 릴리스 자동화 계정입니다. 계정이 처음에 어떻게 침해되었는지는 설명되지 않았습니다. 게시 워크플로가 커밋이 보호된 브랜치에서 온 것인지 확인하지 않고 릴리스 이벤트를 받아들였다고 합니다. 이는 외부 분석이며 조직의 발표가 아닙니다.

QSwarm Desktop 0.56.3으로 업데이트하면 충분한가요?
A

업데이트는 침해된 버전을 대체할 뿐 이미 실행된 것을 되돌리지는 않습니다. 0.56.2를 실행했다면 그 머신을 침해된 것으로 보고 키를 교체하세요. 보안 업체의 분석은 Linux 패키지는 자동 업데이트되지 않아 수동으로 업데이트해야 하며, 앱을 재설치해도 악성코드가 남긴 지속 수단이 반드시 지워지지는 않는다고 밝힙니다.