코인 해킹 12년 연대기: 핫월릿에서 서명 경로까지

아프로·2026년 11월 1일

코인 해킹 12년 연대기 표지

13건. 2014년부터 2026년까지 이름난 거래소·지갑·브리지 해킹의 수입니다. 처음에 공격자가 노린 것은 거래소의 온라인 지갑이었습니다. 그 뒤 브리지의 검증자로, 다시 서명 화면과 서명 서버로 목표가 옮겨 갔습니다. 그리고 시작점은 갈수록 사람이 됐습니다.

사고 원인: 사람을 노린 사회공학. 지갑 기술이 단단해지자 공격자는 지갑을 다루는 개발자와 서명자를 노립니다. 가짜 채용 제안으로 개발자 PC를 장악하는 수법이 반복됩니다.

한눈에 보기

항목내용
기간2014~2026년, 12년
사건거래소·지갑·브리지 해킹 13건
시대핫월릿(2014~2019) → 브리지·검증자(2022~2026) → 서명 경로(2024~2026)
북한 연계11건(확인·지목·의심·유력 검토 포함). 나머지 2건은 미확인·무관
수치 기준해외 사건은 분석 회사·언론 자료 기준

핫월릿은 인터넷에 연결된 출금용 지갑입니다. 브리지는 서로 다른 블록체인 사이에서 자산을 옮겨 주는 서비스이고, 검증자는 브리지의 출금을 승인하는 서명자입니다. 멀티시그는 여러 명이 서명해야 출금되는 지갑입니다.

13건 전체입니다(최근 사건이 위).

시점대상규모핵심 수법북한 연계
2026-10바이낸스약 64억 달러핫월릿 서명 인프라 장악 추정, EIP-7702 위임 악용(09편)FBI 확인
2026-09Bitget약 3.9억 달러지갑 백엔드를 장악해 거래 데이터를 위조하고 승인 절차 실행의심(TRM: TraderTraitor)
2026-04KelpDAO약 2.92억 달러LayerZero RPC 노드 변조 + DDoS, 검증자 1개(1-of-1)가 가짜 소각을 승인LayerZero가 지목
2026-04Drift Protocol약 2.85억 달러수개월 사회공학으로 멀티시그 서명자 장악, 미리 서명된 거래로 12분간 31회 출금TRM 분석
2025-11업비트445억 원솔라나 핫월릿, 개인키 추론 취약점 자체 발견(09편)유력 검토
2025-02바이비트약 15억 달러Safe 프런트엔드 변조로 블라인드 서명 유도(09편)FBI 지목
2024-07WazirX(인도)약 2.35억 달러수탁사(Liminal) 멀티시그 지갑 탈취라자루스
2024-05DMM Bitcoin(일본)4,502.9 BTC(약 3.08억 달러)지갑 업체 직원에게 가짜 채용 시험 → 악성 Python → 세션 쿠키로 거래 변조FBI·일본 경찰 지목
2023-06Atomic Wallet개인 지갑 피해 1억 달러 이상수법 미확인Elliptic 지목
2022-03Ronin Bridge(Axie)약 6.2억 달러LinkedIn 가짜 채용 PDF로 침투, 검증자 9개 중 5개 서명 확보(회수 안 된 권한 포함)FBI 지목, OFAC 제재
2019-11업비트580억 원이더리움 핫월릿경찰 결론: 라자루스·안다리엘
2018-01Coincheck(일본)NEM 약 5.23억 개(약 5.3억 달러)핫월릿에 대량 보관미확인
2014-02Mt.Gox(일본)85만 BTC 도난 신고(약 20만 회수)장기간 누적 도난, 파산무관

무슨 일이 있었나

핫월릿 시대, 브리지·검증자 시대, 서명 경로 시대의 공격 대상과 시대별 교훈, 공통 시작점인 사람

① 핫월릿 시대 (2014~2019)

  • 2014-02 마운트곡스가 비트코인 85만 개의 도난을 신고합니다. 도난은 오랜 기간 누적됐고, 거래소는 파산했습니다.
  • 2018-01 일본 코인체크에서 약 5.3억 달러어치의 NEM이 빠져나갑니다. 핫월릿에 대량으로 보관하던 코인이었습니다.
  • 2019-11 업비트가 이더리움 핫월릿에서 580억 원을 잃습니다. 경찰은 라자루스·안다리엘의 소행으로 결론 냈습니다.

② 브리지·검증자 시대 (2022~2026)

  • 2022-03 로닌 브리지에서 약 6.2억 달러가 빠져나갑니다. 이 브리지는 검증자 9개 중 5개가 서명하면 출금을 승인했고, 공격자는 회수되지 않은 권한까지 더해 5개를 확보했습니다. 보도에 따르면 시작은 LinkedIn으로 온 가짜 채용 PDF였습니다. FBI가 북한을 지목했습니다.
  • 2026-04 KelpDAO가 약 2.92억 달러를 잃습니다. 검증자가 1개(1-of-1)뿐이라 그 하나가 가짜 소각을 승인했습니다.

③ 서명 경로 시대 (2024~2026)

  • 2023-06 Atomic Wallet 이용자들이 1억 달러 넘게 잃습니다. 수법은 확인되지 않아 시기상 여기에 둡니다.
  • 2024-05 일본 DMM Bitcoin이 약 3.08억 달러를 잃습니다. 지갑 업체 직원이 받은 가짜 채용 시험이 악성 Python 코드였고, 공격자는 그 직원의 세션 쿠키로 거래를 변조했습니다.
  • 2024-07 인도 WazirX에서 수탁사의 멀티시그 지갑이 탈취됩니다. 피해는 약 2.35억 달러입니다.
  • 2025 바이비트는 서명 화면 변조, 업비트는 다시 핫월릿입니다. 두 사건은 09편에서 다뤘습니다.
  • 2026-04 Drift가 약 2.85억 달러를 잃습니다. TRM 분석에 따르면 수개월의 사회공학으로 멀티시그 서명자를 장악했고, 미리 받아 둔 서명으로 12분 동안 31번 출금이 일어났습니다.
  • 2026-09 Bitget이 약 3.9억 달러를 잃습니다. 지갑 백엔드가 장악돼 위조된 거래 데이터로 승인 절차가 실행됐습니다.
  • 2026-10 바이낸스에서 약 64억 달러가 빠져나갑니다. FBI는 북한 소행으로 확인했다고 발표했습니다.

왜 뚫렸나

시대별 원인은 이렇게 정리됩니다.

  • 핫월릿 시대: 온라인 지갑에 너무 많은 자산을 두었습니다.
  • 브리지·검증자 시대: 검증자 수가 적거나 권한 회수가 안 됐습니다. 로닌은 9개 중 5개, KelpDAO는 1개였습니다.
  • 서명 경로 시대: 콜드월릿과 멀티시그를 써도 서명 화면이나 백엔드가 변조되면 소용이 없었습니다.

시대는 달라도 시작점은 겹칩니다. 로닌, DMM, 바이비트, Drift는 모두 개발자·서명자를 노린 사회공학에서 시작했습니다. 로닌과 DMM은 가짜 채용 제안, 바이비트는 지갑 개발자의 PC, Drift는 서명자를 노린 수개월의 사회공학이었습니다.

가짜 채용 제안과 코딩 과제는 개발자를 노리는 수법이라, 개발자가 가장 먼저 알아야 합니다.

개발자 시점: 내 서비스였다면

아래 코드는 사고 회사의 코드가 아니라 같은 실수를 보여 주는 일반 예시입니다. 파일 이름과 키 값은 모두 가짜입니다.

① 채용 과제 저장소를 받았을 때

채용 담당자가 보낸 과제 저장소라고 해 봅니다. 위험한 모양은 설치 직후 도는 스크립트(postinstall)가 있는 저장소를 내 노트북, 내 계정에서 바로 설치하는 것입니다.

// package.json
{
  "name": "FAKE-coding-test",
  "scripts": {
    "postinstall": "node FAKE-setup.js",
    "start": "node index.js"
  }
}

# 내 노트북, 내 계정에서 바로
$ npm install
# 설치 직후 FAKE-setup.js 자동 실행

고친 모양은 스크립트 항목부터 읽고, 일회용 격리 환경에서 엽니다. 설치 스크립트 실행은 기본으로 꺼 둡니다.

# 1. 먼저 읽는다: scripts 항목
#    postinstall · preinstall 확인
# 2. 일회용 격리 환경에서 연다
#    회사 계정 · 지갑 · 키 없음
# 3. 스크립트 끄고 설치
$ npm install --ignore-scripts

# 4. 기본값으로도 꺼 둔다
# ~/.npmrc
ignore-scripts=true

② 회수하지 않은 권한

로닌의 "회수 안 된 권한"을 일반 서비스로 옮긴 모양입니다. 위험한 모양은 퇴사자의 저장소 관리자 권한, 클라우드 키, 서명 노드 권한이 살아 있는 목록입니다.

# 퇴사한 지 넉 달
alice:
  status: left
  github: admin
  cloud_key: FAKE-AK-0001   # 활성
  signer_node: validator-3  # 서명 권한
  vpn: active

고친 모양은 퇴사와 함께 모두 회수하고 키를 바꿉니다. 서명 노드를 빼면 정족수를 다시 계산하고, 목록은 분기마다 점검합니다.

alice:
  status: offboarded
  github: revoked
  cloud_key: rotated        # FAKE-AK-0002
  signer_node: removed
  quorum: recalculated      # 정족수 재계산
  vpn: revoked
  reviewed: 2026-11-01      # 분기 점검

시리즈 공통 패턴 표에서도 쿠팡(03편)의 퇴사자 문제가 같은 "사람과 서명 경로" 칸에 들어갑니다.

막을 수 있었던 네 지점

  1. 핫월릿 시대: 콜드월릿 비중 확대.
  2. 브리지 시대: 검증자 분산과 권한 생애주기 관리. 검증자 수를 늘리고, 떠난 사람과 기기의 권한을 제때 회수합니다.
  3. 서명 경로 시대: 서명 내용의 독립 확인과 공급망 무결성. 서명 내용은 별도 기기로 확인하고, 서명 경로에 끼어 있는 외부 코드의 무결성을 검증합니다.
  4. 공통: 가짜 채용 교육과 격리 환경. 받은 코드는 격리된 곳에서 엽니다.

같은 사고를 막는 점검 5줄

  • 받은 과제 저장소는 설치 스크립트부터 읽는가
  • 회사 계정·지갑·키가 없는 일회용 격리 환경에서 여는가
  • 설치 스크립트 실행을 기본으로 꺼 두었는가
  • 퇴사자·계약 종료자의 권한을 서명 권한까지 회수하는가
  • 서명 내용을 별도 기기로 확인하는가

제재와 비용

13건에 과징금 같은 제재는 없습니다. 알려진 처분과 결과는 다음과 같습니다.

  • 로닌: FBI가 북한을 지목했고 OFAC 제재가 이어졌습니다.
  • 업비트(2019): 경찰이 라자루스·안다리엘의 소행으로 결론 냈습니다.
  • 마운트곡스: 거래소가 파산했고, 약 20만 BTC가 회수됐습니다.

코인체크·마운트곡스의 세부 내용과 상당수 해외 수치는 언론·분석 회사 자료 기준입니다. 이 글은 투자 조언이나 법률 자문이 아닙니다.

정리

  • 12년 동안 공격 대상은 핫월릿에서 브리지·검증자, 서명 경로로 옮겨 갔습니다.
  • 지갑이 단단해지자 공격은 사람에게로 향했습니다. 공격자는 지갑이 아니라 지갑을 다루는 개발자와 서명자를 노립니다.
  • 받은 과제는 격리해서 열고, 떠난 사람의 권한은 서명 권한까지 회수하고, 서명 내용은 별도 기기로 확인합니다.

더 깊게

  • 인프런 「백엔드 개발자를 위한 서버 보안 실무」 6-4 공급망 공격과 방어: SBOM, 서명, GitHub Actions 고정
  • 같은 강의 6-7 클라우드 계정이 진짜 자산이다: IAM 최소 권한과 감사 로그
  • 같은 강의 3-6 MFA와 세션 탈취 대응: 피싱에 강한 인증과 토큰 바인딩
  • 09편(이 글과 짝)
  • velog ca-chains 시리즈 21편: 공급망 서명

보안을 더 알고 싶다면

오늘 본 사고의 원인은 대부분 서버와 코드의 기본기에서 막을 수 있는 것들이었습니다. 직접 손으로 막아 보고 싶다면 이런 강의도 있습니다.

백엔드 개발자를 위한 서버 보안 실무: 해킹 방어부터 정보유출 방지까지

  • 서버를 공격하는 흐름을 로그로 보고, 내 서버와 Spring·Express 코드에서 직접 막아 봅니다.
  • SSH 하드닝, 인젝션, 인증·인가, 시크릿과 개인정보 보호, 침해사고 첫 한 시간까지 8개 섹션 54개 수업입니다.
  • 이 글과 이어지는 수업: 6-4 공급망 공격과 방어: SBOM, 서명, GitHub Actions 고정 · 6-7 클라우드 계정이 진짜 자산이다: IAM 최소 권한과 감사 로그 · 3-6 MFA와 세션 탈취 대응: 피싱에 강한 인증과 토큰 바인딩

출처와 확인 날짜

수치는 2026년 10월 말 기준 공개 보도·발표입니다. 진행 중인 사건은 바뀔 수 있고, 이 글은 법률 자문이 아닙니다. 투자 조언도 아닙니다.


이전 글 북한의 코인 탈취: 바이낸스·바이비트·업비트
다음 글 더존비즈온 해킹: 제보 메일로 안 침입과 백업 서버의 암호화 데이터
시리즈 전체 목록 해킹 사고 해부 전체 목록

profile
고인물 개발자(OG)

0개의 댓글