뉴스
갈라체인 해킹 — 실패한 거래 서명 74개 재사용, 20억 GALA 유출
갈라체인이 8월 18일 보안 사고 사후 보고서를 냈어요. 공격자는 실패한 거래에 남은 서명 74개를 다시 써서 9개 계정에서 약 20억 GALA를 빼갔어요. 개인키 유출은 아니라고 밝혔어요.

3줄 요약
- 1갈라체인이 9월 14일 공개한 사후 보고서에 따르면 8월 18일 9개 계정에서 약 20억 GALA와 다른 토큰 수십 종이 빠져나갔어요.
- 2공격자는 최대 55일 전 실패한 거래에 남아 있던 서명 74개를 모아 1,066번 다시 제출했어요.
- 3갈라체인은 개인키가 털린 정황은 없다고 밝혔고, 서명에 만료 시각을 넣는 등 7가지를 고쳤어요.
AI가 쓴 글이에요. 출처를 바탕으로 자동으로 작성·발행돼요. 사람이 검수하지 않으니 사실과 다를 수 있어요. 중요한 내용은 아래 출처 링크에서 원문을 확인해 주세요.
갈라체인이 8월 18일 보안 사고의 사후 보고서를 9월 14일에 공개했어요. 공격자는 개인키를 훔친 게 아니라, 이미 실패한 거래에 남아 있던 서명 74개를 다시 제출해서 9개 계정을 비웠어요. 빠져나간 건 약 20억 GALA와 다른 토큰 수십 종이고, 토큰포스트는 피해액을 약 300만 달러로 전했어요.
무슨 일이 있었나
사고가 난 날은 2026년 8월 18일이에요. 갈라체인 공식 보고서가 정리한 규모는 이래요.
- 피해 계정: 9개
- 빠져나간 GALA: 약 20억 개 (단일 최대 전송 1,639,810,337.11548495 GALA)
- 그 밖에 다른 토큰 수십 종도 함께 유출
- 공격자가 노린 계정·토큰 조합 59개 중 56개는 첫 시도에 잔액이 정확히 전부 빠져나갔어요
첫 시도에 잔액을 딱 맞게 가져갔다는 건, 공격 전에 이미 각 계정에 뭐가 얼마나 있는지 다 파악해 뒀다는 뜻이에요. 갈라체인은 준비 기간을 약 8주로 봤어요.
실패한 거래에 왜 서명이 남아 있었나
여기서 쓰인 용어를 먼저 풀어 볼게요.
서명(Signature) — 이 거래가 내 지갑에서 나온 게 맞다고 증명하는 도장이에요. 개인키로 찍어요.
고유 키(nonce) — 같은 서명을 두 번 쓰지 못하게 막는 일회용 번호표예요. 거래가 처리되면 번호표가 소모돼서, 똑같은 서명을 다시 내밀어도 통과가 안 돼요.
문제는 거래가 실패했을 때예요. 갈라체인 보고서의 설명은 이래요. 거래가 실패해도 서명이 붙은 내용은 공개 원장에 그대로 기록돼요. 그런데 그 거래는 처리되지 않았으니 번호표는 소모되지 않아요. 결국 "누구나 볼 수 있는 곳에 놓여 있고, 아직 한 번도 안 쓴 서명"이 원장에 쌓이게 돼요.
공격자는 이걸 긁어모았어요. 가장 오래된 건 공격 시점보다 55일, 블록으로는 432,190개 앞선 거래에서 나온 서명이었어요. 이렇게 모은 재사용 가능한 서명이 74개예요.
서명 검증의 두 번째 구멍
서명 하나가 손에 들어와도, 보통은 그 서명이 원래 하려던 일만 할 수 있어야 해요. 갈라체인의 두 번째 문제가 여기 있었어요.
기존 방식은 이 서명이 어떤 종류의 작업인지를 요청을 보낸 쪽이 적어 낸 값으로 판단했어요. 서명을 실제로 호출되는 기능에서 끌어내지 않고, 보내는 쪽 말을 믿은 거예요. 그래서 A 작업용으로 서명된 내용을 B 작업으로 밀어 넣는 게 가능했어요.
서명이 재사용된다는 문제와, 서명이 원래 용도 밖에서 통한다는 문제가 겹치면서 계정 잔액이 그대로 빠져나갔어요. 갈라체인은 이 틈이 여러 차례 보안 점검을 거치고도 남아 있었다고 적었어요.
3시간 동안의 타임라인
공격은 한국 시각 기준 낮에 일어났어요. 공식 보고서의 시각(UTC)을 한국 시각으로 옮기면 이래요.
| 한국 시각(8월 18일) | 일어난 일 |
|---|---|
| 11:21:54 | 첫 무단 전송. 가장 큰 계정부터 빠져나감 |
| 14:09:19 | 브리지 정지 |
| 14:22:17 | 운영자 권한 회수 시작 |
| 15:27:00 | 영구 수정 배포 |
그사이 공격자는 1,066번 거래를 제출했어요. 제출 간격의 중앙값은 4.5초였고, 73.9%는 정확히 한 블록 간격으로 들어왔어요. 사람이 손으로 누른 게 아니라 자동화된 스크립트라는 뜻이에요. GALA 잔액이 큰 상위 4개 계정은 18초 안에 큰 순서대로 털렸어요.
갈라체인이 고친 7가지
보고서에 적힌 조치는 이래요.
- 서명된 내용을 그 작업에 묶기
dtoOperation값으로 어떤 작업인지 서명에 못 박기dtoExpiresAt로 서명에 만료 시각 넣기- 검증 단계에서 신원별로 요청 속도 제한
- 잔액이 큰 계정의 잔액 변화 감시
- 브리지 출금은 사람이 직접 확인하고 내보내기
- 특정 커밋에 고정한 보안 점검을 계속 돌리기
핵심은 1번과 3번이에요. 서명이 "언제까지, 어떤 작업에만" 쓸 수 있는지 자체에 적혀 있으면, 오래된 서명을 주워도 쓸 데가 없어요.
내 지갑은 괜찮을까
갈라체인은 "우리 것이든 이용자 것이든, 개인키가 유출된 정황은 없다"고 못 박았어요. 시드 문구나 개인키가 새어 나간 사고가 아니라, 체인 쪽 검증 로직의 틈을 파고든 사고예요.
다만 보고서에 피해 계정을 보상하거나 잔액을 복구한다는 내용은 없어요. 갈라체인은 빠져나간 자금의 흐름을 계속 추적 중이고 FBI에 신고했다고만 적었어요. 8월 18일 전후로 갈라체인에서 거래한 기억이 있다면, 내 계정 잔액과 거래 내역을 한 번 확인해 보세요.
정리
- 8월 18일 갈라체인에서 9개 계정이 털려 약 20억 GALA와 다른 토큰 수십 종이 빠져나갔어요. 원인은 실패한 거래에 남은 서명 74개의 재사용이에요.
- 개인키가 털린 사고는 아니에요. 실패한 거래가 일회용 번호표를 소모하지 않았고, 서명이 원래 용도 밖에서도 통했던 게 겹친 결과예요.
- 갈라체인은 서명에 작업과 만료 시각을 묶는 등 7가지를 고쳤지만, 보상 계획은 아직 밝히지 않았어요.
다음에 할 일 하나 — 갈라체인 계정을 쓴다면 8월 18일 전후 거래 내역을 확인하고, 공식 사후 보고서를 직접 읽어 보세요.
출처 (2개)
이 글은 아래 출처를 바탕으로 작성됐어요
함께 보면 좋아요

코인풀이 텔레그램 소통방
차트 공부부터 실시간 분석까지, 같이 이야기해요. 새 글도 여기 가장 먼저 올라가요.