보안 가이드

Zeabur 보안 사고(2026년 10월, 환경 변수 322만 건 열람): 교체할 시크릿과 이용자가 해야 할 일

Zeabur는 2026년 10월 침해로 환경 변수 3,218,965건과 321,810개 계정의 데이터가 열람되었다고 밝혔습니다. 교체할 시크릿과 확인할 일.

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

대상: 앱 배포 플랫폼(PaaS) Zeabur에 앱이나 데이터베이스를 배포하는 개발자와 운영자, 특히 AI 서비스, 결제, 클라우드, 데이터베이스의 자격 증명을 환경 변수에 두고 있는 분. 이 글은 Zeabur의 공식 예비 보고서와 서비스 종료 발표를 바탕으로 하며 공격 수법은 다루지 않습니다.

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

대상

앱 배포 플랫폼(PaaS) Zeabur에 앱이나 데이터베이스를 배포하는 개발자와 운영자, 특히 AI 서비스, 결제, 클라우드, 데이터베이스의 자격 증명을 환경 변수에 두고 있는 분.

확인된 영향 범위표 보기 ↓
  • 플랫폼 데이터베이스의 환경 변수
  • 계정 데이터
  • zSend API 키
2개 더 보기
  • 플랫폼 Access Token
  • 회사가 GCP Dedicated Servers라고 부르는 서버
아직 확인되지 않은 사항
  • 공격자가 최초 자격 증명을 얻은 경위
  • 공유 클러스터 데이터베이스에서 실제로 반출된 데이터의 양
  • 백업과 기타 저장 객체가 다운로드되었는지
1개 더 보기
  • 회사가 Hetzner and DigitalOcean Dedicated Servers라고 부르는 서버용으로 유출된 토큰이 사용되었는지
지금 할 일절차 보기 ↓
  1. 환경 변수의 모든 시크릿을 발급한 서비스에서 폐기하기
  2. 공유 클러스터 이용자: 데이터베이스 내부의 비밀번호도 바꾸기
  3. Zeabur Access Token과 zSend API 키를 다시 만들기
4개 더 보기
  1. GitHub를 연결했다면 10월 15일의 감사 로그를 확인하기
  2. 10월 14일 이후의 사용량과 청구서 확인하기
  3. 손해를 입었다면 2026년 11월 30일까지 청구하기
  4. 전용 서버 이용자: 범위에 해당하면 서버가 침해된 것으로 보기
마지막 확인
2026년 10월 31일 기준
후속 발표 예정과 확인 기록

10월 19일 보고서에는 「조사는 계속되고 있으며, 진행에 따라 이 글을 업데이트하겠습니다」라고 적혀 있습니다. 10월 31일에도 페이지의 날짜는 10월 19일 그대로였습니다. 그 뒤 회사 블로그에 올라온 공지는 10월 22일의 환불·사고 청구 안내뿐이며, 조사 내용은 업데이트하지 않았습니다.

Zeabur 이용자가 오늘 해야 할 일

1

환경 변수의 모든 시크릿을 발급한 서비스에서 폐기하기

API 키(AI 서비스, 결제, 이메일), 클라우드 키, 데이터베이스 비밀번호, 서명·암호화 키가 대상입니다. 회사가 안내하는 순서는 먼저 서비스 제공업체에서 기존 값을 폐기하고, 새 값을 만들어 Zeabur에 설정한 뒤 다시 배포하는 것입니다.

Zeabur에서 변수를 지우거나 고치기만 해서는 누군가 이미 가진 사본을 막을 수 없습니다. 8월 사고 뒤 값을 교체했더라도 마찬가지입니다. 회사에 따르면 8월의 교체는 이번에 사용된 자격 증명을 포함하지 않았습니다.

2

공유 클러스터 이용자: 데이터베이스 내부의 비밀번호도 바꾸기

회사는 Zeabur에서 환경 변수를 바꿔도 데이터베이스 내부의 비밀번호는 바뀌지 않는다고 밝혔습니다. 비밀번호를 바꿔도 이미 유출된 데이터가 되돌아오지는 않습니다. 데이터베이스에 자사 이용자의 비밀번호 해시, 로그인 세션, 토큰이 저장되어 있다면 그것들도 폐기하고 다시 발급하세요.

회사는 다음도 요청합니다.

  • n8n: n8n 암호화 키를 교체하고, n8n에 저장된 모든 서드파티 자격 증명을 다시 만들기
  • new-api/one-api: 상위 AI 서비스 키를 폐기하고 액세스 토큰을 다시 발급하기
  • PostgreSQL: 모르는 역할, 함수, 트리거, 예약 작업, 확장 기능이 없는지 확인하고, 의심스러우면 새 데이터베이스를 만들어 데이터만 가져오기
  • 타이베이(tpe1)와 홍콩(hkg1) 리전: 데이터베이스 백업의 데이터를 유출된 것으로 보기
3

Zeabur Access Token과 zSend API 키를 다시 만들기

회사는 모든 이용자를 로그아웃시키고 플랫폼의 모든 Access Token을 폐기했다고 밝혔습니다. 다시 로그인해 Access Token 페이지에서 새 토큰을 만들고, 모르는 요청이 없는지 확인하세요. zSend 이용자는 zSend API 키를 다시 만들어야 합니다(566개 모두 폐기됨).

4

GitHub를 연결했다면 10월 15일의 감사 로그를 확인하기

회사는 Zeabur GitHub App의 개인 키가 열람되었고 10월 15일 18:54 UTC에 교체했으며, 지금까지 사용된 흔적은 찾지 못했다고 밝혔습니다. 회사는 10월 15일 15:05부터 18:54 UTC 사이에 Zeabur GitHub App이 한 작업을 GitHub 감사 로그에서 확인하라고 요청합니다. 예상치 못한 clone이나 push, 새 deploy key, 변경된 webhook이 대상입니다.

5

10월 14일 이후의 사용량과 청구서 확인하기

키를 저장해 둔 각 서비스의 사용량과 청구서를 2026년 10월 14일부터 확인하세요. 회사는 이것이 알려진 가장 이른 자격 증명 사용 시점일 뿐, 그 전에 아무것도 유출되지 않았다는 증거는 아니라고 밝혔습니다. 「GCP Dedicated Servers」로 분류된 전용 서버의 이용자는 9월 1일까지 거슬러 올라가 확인하세요. 도난당한 AI 키가 왜 빠르게 청구서로 이어지는지는 API 키 도난과 계정 차단을 참고하세요.

6

손해를 입었다면 2026년 11월 30일까지 청구하기

회사의 10월 22일 공지에 따르면, 10월 사고로 인한 손해 청구는 2026년 11월 30일까지 별도의 Zeabur Support 티켓으로 제출해야 하며, 그때까지 제출된 청구만 접수됩니다. 회사는 영향을 받은 계정과 서비스, 유출된 키나 자격 증명의 종류, 사고 기간을 포함하는 서드파티 청구서나 사용 기록을 요구합니다. 청구는 계정 잔액 환불과는 따로 처리됩니다.

7

전용 서버 이용자: 범위에 해당하면 서버가 침해된 것으로 보기

「GCP Dedicated Servers」로 분류된 전용 서버에 대해 회사는 서버가 침해된 것으로 보라고 안내합니다. 데이터를 백업하고 서버를 다시 구축하세요. 남아 있을 수 있는 것을 없애는 가장 확실한 방법입니다. 바로 재구축할 수 없다면 회사가 제시하는 최소 조치는 모르는 SSH 키 삭제, 계정·예약 작업·서비스 점검, root 비밀번호 변경과 SSH 비밀번호 로그인 비활성화, 서버의 모든 자격 증명 교체입니다. 확인해야 할 징후는 회사 보고서에 나와 있으니 공식 페이지에서 확인하세요.

회사가 「Hetzner and DigitalOcean Dedicated Servers」라고 부르는 서버에 대해서는, 10월 14일 이후 root 비밀번호가 재설정되었거나 시스템이 재설치되었는지 제공업체 콘솔에서 확인하라고 요청합니다.

무슨 일이 있었나요 (Zeabur 보고서 기준)

아래는 Zeabur의 2026년 10월 19일 예비 보고서(일본어와 그 밖의 4개 언어로도 공개)를 바탕으로 합니다. 시각은 모두 UTC입니다.

  1. 2026년 8월

    Zeabur에서 별도의 보안 사고 발생. 회사는 그 뒤의 교체가 10월에 사용된 자격 증명을 포함하지 않았다고 밝힘.
  2. 10월 14일 01:36

    공격자가 Zeabur 내부 클라우드 키를 처음 사용한 것으로 알려진 시점. 이어서 공유 클러스터에 접근.
  3. 10월 15일 13:56

    이용자 신고를 받고 Zeabur가 조사 시작.
  4. 10월 15일 16:10–16:47

    공격자가 플랫폼 데이터베이스를 열람(회사가 확인).
  5. 10월 15일 20:25

    Zeabur가 로그인 서명 키를 교체. 모든 이용자가 로그아웃됨.
  6. 10월 15일 21:05

    지금까지 관찰된 마지막 공격자 활동.
  7. 10월 17일

    Zeabur가 2026년 12월 31일에 서비스를 종료한다고 발표.
  8. 10월 19일

    Zeabur가 사고에 관한 예비 보고서를 공개.
  9. 10월 22일

    Zeabur가 사고 청구 기한을 2026년 11월 30일로 정하고, 서비스 데이터는 12월 31일에 삭제된다고 밝힘.
3,218,965
열람된 환경 변수 레코드(이름과 값)
321,810
데이터가 열람된 계정
566
열람된 zSend API 키(현재 폐기됨)
2026년 12월 31일
Zeabur 서비스 종료일

Zeabur에 저장: 열람됨

Zeabur 플랫폼 데이터베이스에 보관된 환경 변수. 한 번도 옮기지 않은 프로젝트 포함

8월 이후 자체 전용 서버로 이동

플랫폼 데이터베이스 열람 범위 밖. 서버 자체가 범위에 들었다면 그 시크릿도 교체 필요

회사는 어느 쪽이든 모든 이용자에게 시크릿 교체를 요청합니다. 이 구분은 노출이 얼마나 확실한지를 알려 줄 뿐입니다.

플랫폼 데이터베이스에 누구의 환경 변수가 있었나(회사 보고서 기준)
보고서 내용(Zeabur, 2026년 10월 19일)
일어난 일
공격자가 유출된 Zeabur 내부 자격 증명으로 공유 클러스터, 일부 전용 서버, 내부 시스템에 침입해 플랫폼 데이터베이스를 열람
열람된 데이터
환경 변수(3,218,965건), 계정 데이터(321,810개 계정), zSend API 키(566개), 그리고 되돌릴 수 없는 해시로 저장된 플랫폼 Access Token(11,536개, 모두 폐기)
기타 시스템
공유 클러스터의 데이터베이스 컨테이너 865개 안에서 명령이 실행됨. 회사가 GCP Dedicated Servers라고 부르는 서버 중 101대에서 root 로그인이 확인됨
원인(회사)
평문으로 저장되고 공용 인터넷에서 사용할 수 있었던 장기 유효 관리자 자격 증명. 회사는 근본 원인이 Zeabur에 있다고 밝힘
대응
사용된 자격 증명 폐기, 관리 인터페이스와 서버에 대한 공개 SSH 차단, 모든 이용자 로그아웃, 모든 Access Token 폐기
보상
사고로 서드파티 API 키나 클라우드 계정에 발생한 추가 요금은 2026년 11월 30일까지 지원 티켓으로 청구 가능(10월 22일 공지)

확인된 것과 확인되지 않은 것

2026년 10월 31일 기준 상태입니다. 회사 자체의 용어는 「확인됨」(로그에 직접 기록됨), 「추정」(시점과 내용이 일치하지만 직접 기록은 없음), 「확인 불가」(확인할 기록이 없음. 유출된 것으로 취급), 「가설」(간접 증거로만 뒷받침되는 가능한 설명)입니다. 상태 열은 이 용어를 따릅니다. 후속 발표가 나오면 업데이트합니다.

항목보고서 내용상태
플랫폼 데이터베이스의 환경 변수3,218,965건(이름과 값) 열람확인됨(회사)
계정 데이터321,810개 계정: 이메일, 사용자 이름, 전화번호 등과 프로젝트 데이터확인됨(회사)
zSend API 키평문으로 저장된 키 566개, 모두 폐기확인됨(회사)
플랫폼 Access Token되돌릴 수 없는 해시로만 저장된 토큰 11,536개, 모두 폐기확인됨(회사)
공유 클러스터의 환경 변수와 시크릿9개 리전. 일부는 확인, 나머지는 유출된 것으로 취급일부 확인됨, 나머지는 확인 불가(회사)
공유 클러스터 데이터베이스의 내용데이터베이스 서비스 865개에서 명령 실행. 반출된 양은 확인 불가추정(회사)
회사가 GCP Dedicated Servers라고 부르는 서버101대(이용자 92명)에서 root 로그인 확인확인됨(회사)
데이터베이스 백업(타이베이 tpe1, 홍콩 hkg1)다운로드되었는지는 확인 불가. 이와 별도로 회사는 침해된 호스트의 증거로 공격자가 10월 15일 15:42 UTC에 고객 데이터베이스 백업을 얻은 것이 확인된다고 밝힘확인 불가(회사)
회사가 Hetzner and DigitalOcean Dedicated Servers라고 부르는 서버관리자 토큰 유출. 사용되었는지는 확인 불가확인 불가(회사)
2단계 인증과 패스키 데이터통계만 조회됨. 내용이 열람된 기록 없음내용 열람 기록 없음(회사)
최초 자격 증명을 얻은 경위확인 불가. 8월과의 관련성은 확인되지 않은 가설확인 불가(회사)
유출된 키의 악용한 이용자의 AI 서비스 키가 10월 16일 약 1,107건의 요청에 사용됨. 회사는 이번 유출에서 나온 것이라는 점을 가설로 봄가설(회사)

읽는 법: 「확인 불가」도 교체해야 한다는 뜻입니다

회사는 무단 접근을 배제할 수 없는 곳에서는 데이터가 노출되었을 수 있다고 가정한다고 밝혔습니다. 자신의 시크릿에 대해서는 「확인됨」, 「추정」, 「확인 불가」의 실질적 차이가 작습니다. 모두 폐기하고 교체해야 한다는 뜻입니다.

유출된 환경 변수로 무슨 일이 일어날 수 있나요

일반적으로 환경 변수에서 빼낸 시크릿은 다음과 같이 악용될 수 있습니다. 이번에 이 모든 일이 일어났다는 뜻은 아닙니다.

  • AI 서비스 API 키: 다른 사람이 내 계정으로 요청을 보내고 청구서는 내가 받음. 회사는 공격자가 주로 바로 쓸 수 있는 키, 특히 AI 서비스 키를 찾고 있었다고 관찰함
  • 데이터베이스 비밀번호와 연결 문자열: 자사 이용자의 기록을 포함해 앱의 데이터를 읽거나 변경
  • 서명·암호화 키: 세션 토큰 위조, 앱이 보호하는 데이터의 복호화
  • 클라우드·결제 키: 비용이 드는 리소스 생성이나 호출

과거 사례로, Railway 환경 변수 사고 뒤 호스팅 회사는 노출되었을 수 있는 키 목록을 발급 서비스에 보내 폐기할 수 있게 했습니다. 이번에도 같은 흐름이 된다고는 할 수 없으니 키는 직접 폐기하세요.

운영자를 위한 교훈: 회사가 공개한 내용에서

아래는 회사가 스스로 밝힌 원인과 미비점에서 나온 것입니다. Zeabur에 대한 추가 평가는 아닙니다.

  • 관리자 토큰에 만료를 두고, 관리 인터페이스를 공용 인터넷에 두지 않기. 회사에 따르면 클러스터 관리자 토큰에는 만료가 없었고 2024년 1월 이후 교체되지 않았으며, 관리 인터페이스는 인터넷에서 접근할 수 있었습니다.
  • 사고 뒤에는 유출이 확인된 것만이 아니라 열람되었을 수 있는 모든 자격 증명을 교체하기. 회사에 따르면 8월의 교체는 10월에 사용된 자격 증명을 포함하지 않았습니다.
  • 백업에 평문 시크릿을 넣지 말고, 백업 키는 따로 두기. 회사에 따르면 클러스터 백업에는 모든 시크릿이 들어 있었고, 대응 중에 교체한 키가 이후의 백업에 담겼습니다.
  • 시크릿의 대량 열람에 경보를 설정하기. 회사에 따르면 10월 14일의 16시간이 넘는 활동에 경보가 한 번도 울리지 않았고, 사고는 이용자 신고로 발견되었습니다.

자신의 앱에서 가장 안전한 시크릿은 플랫폼이 아예 저장하지 않는 것입니다. 수명이 짧은 자격 증명이나, 앱이 실행 중에 읽어 오는 별도의 시크릿 저장소를 쓰세요(참고: .env와 API 키에서 실제로 위험한 것).

출처 (공개 기록)

이 글의 사실은 다음 공개 정보를 바탕으로 합니다. 회사가 확인하지 않은 침입 경로는 추측하지 않으며, 침해 지표는 여기에 옮기지 않습니다.

  • Zeabur, 「Zeabur October 2026 security incident (preliminary report)」(2026년 10월 19일) — zeabur.com
  • Zeabur, 「Zeabur service migration, refunds, and security incident claims」(2026년 10월 22일) — zeabur.com
  • Zeabur, 「Zeabur is shutting down: what happens next」(2026년 10월 17일) — zeabur.com

업데이트 기록

2026-10-31: 첫 버전. Zeabur의 10월 19일 예비 보고서, 10월 17일 서비스 종료 발표, 10월 22일 사고 청구 공지를 바탕으로 합니다. 10월 31일 기준으로 회사 블로그에 추가 조사 보고서는 없습니다. 후속 발표가 나오면 이 글을 업데이트합니다.

다음으로 읽을 글

최신 속보

FAQ

QZeabur 사고에서 무엇이 노출되었나요?
A

Zeabur의 2026년 10월 19일 예비 보고서에 따르면, 공격자는 플랫폼 데이터베이스를 열람했으며 여기에는 서비스 환경 변수 3,218,965건(이름과 값), 321,810개 계정의 데이터(이메일, 사용자 이름, 전화번호 등과 프로젝트·환경·서비스 데이터), 평문으로 저장된 zSend API 키 566개가 포함됩니다. 환경 변수에는 API 키, 데이터베이스 비밀번호, 서명 키가 들어 있는 경우가 많으므로 회사는 이를 유출된 것으로 취급합니다.

Q저도 영향을 받나요?
A

회사는 이번 사고가 주로 공유 클러스터의 서비스와 회사가 「GCP Dedicated Servers」라고 부르는 전용 서버에 영향을 미치며, 플랫폼 데이터베이스에 저장된 환경 변수가 열람되었다고 밝혔습니다. 8월 사고 이후 환경 변수를 자체 전용 서버로 옮긴 프로젝트는 플랫폼 데이터베이스 열람 범위에 포함되지 않습니다. 회사는 모든 이용자에게 알림 이메일을 기다리지 말고 지금 조치하라고 요청합니다.

Q어떤 시크릿을 교체해야 하나요?
A

환경 변수에 있는 모든 자격 증명입니다. API 키, 클라우드 키, 데이터베이스 비밀번호, 서명·암호화 키가 해당됩니다. 회사는 먼저 서비스 제공업체에서 기존 값을 폐기한 뒤 새로 만들고 다시 배포하라고 안내합니다. 8월 사고 뒤 교체했더라도 마찬가지입니다. 공유 클러스터 이용자는 데이터베이스 내부의 비밀번호도 바꿔야 합니다. Zeabur에서 환경 변수를 바꿔도 데이터베이스 안의 비밀번호는 바뀌지 않기 때문입니다.

Q원인은 무엇인가요?
A

회사는 근본 원인이 Zeabur에 있다고 밝혔습니다. 장기간 유효한 관리자 자격 증명이 평문으로 저장되어 있었고 공용 인터넷에서 사용할 수 있었다는 것입니다. 공격자가 그 자격 증명을 어떻게 손에 넣었는지는 아직 확인할 수 없습니다. 회사는 8월 사고와의 관련성을 확인되지 않은 가설로 제시하며, 사실로 인용해서는 안 된다고 밝혔습니다.

QZeabur가 서비스를 종료하는데, 해야 할 일이 달라지나요?
A

아닙니다. 유출된 키는 Zeabur가 계속 운영되든 아니든, 발급한 서비스에서 폐기할 때까지 계속 사용할 수 있습니다. Zeabur는 10월 17일 2026년 12월 31일에 서비스를 종료하며 일부 서비스는 12월 1일부터 종료를 시작한다고 발표했습니다. 시크릿은 지금 교체하고, 이전은 따로 계획하세요.

Q누군가 제 API 키를 사용해 요금이 청구되었습니다. 보상을 받을 수 있나요?
A

회사는 이번 사고로 서드파티 API 키나 클라우드 계정에 추가 요금이 발생했다면 Zeabur Support 티켓으로 보상을 요청할 수 있다고 밝혔습니다. 10월 22일 공지는 기한을 2026년 11월 30일로 정하고, 영향을 받은 계정과 서비스, 유출된 키나 자격 증명의 종류, 사고 기간의 서드파티 청구서나 사용 기록을 요구합니다. 기한 내에 제출된 청구만 접수됩니다. 먼저 키를 폐기하고, 티켓에는 마스킹한 값만 적으세요.