WGC
WorldGameCommunity게임 뉴스 · 한국어/영어
데일리 에디션
1211월
에디션
English
초안 사이트입니다. 콘텐츠는 검토 중이며 바뀔 수 있습니다.

최악의 채용: 먼처블스는 어떻게 6,200만 달러를 잃고 되찾았나

블라스트 네트워크의 한 블록체인 게임이 개발자를 뽑았는데, 그는 몰래 자기 앞으로 100만 ETH를 적어 넣었다. 그리고 그 돈을 빼 갔다. 그런데 놀랍게도 다시 돌려줬다. 2024년 가장 기묘한 해킹 사건을 단계별로 짚는다.

WGC 뉴스 데스크 · · 5분 읽기
최악의 채용: 먼처블스는 어떻게 6,200만 달러를 잃고 되찾았나

대부분의 암호화폐 해킹은 외부인이 약점을 찾아내면서 시작된다. 2024년 3월 먼처블스(Munchables) 해킹은 반대 방향의 채용에서 시작됐다. 프로젝트가 개발자를 뽑았는데, 그 개발자가 바로 위협이었다.

2024년 3월 26일, 이더리움 위에서 더 빠르고 저렴하게 돌아가도록 새로 출시된 레이어2 네트워크 블라스트(Blast)의 게임 프로젝트 먼처블스에서 약 6,250만 달러어치 암호화폐가 빠져나갔다. 그리고 하루 만에, 암호화폐 도난 역사상 가장 이례적인 결말 가운데 하나로 거의 전액인 약 6,050만 달러가 돌아왔다.

뒷문은 이렇게 작동했다

먼처블스의 스마트 계약은 업그레이드 가능한 구조였다. 출시 후에도 코드를 교체할 수 있다는 뜻이다. 버그를 고칠 수 있어 흔하고 대개 합리적인 설계다. 하지만 업그레이드 권한을 쥔 사람이 곧 돈을 쥔 사람이라는 뜻이기도 하다.

사후 분석에 따르면, 이 계약은 코드가 한 번도 공개 검증되지 않은 구현체에서 업그레이드된 상태였다. 팀이 나중에 제대로 된 출금 검증을 추가하기 전, 공격자는 숨겨진 코드로 계약의 내부 저장 공간을 고쳐 자기 주소가 100만 ETH를 예치한 것처럼 기록했다. 그런 다음 겉보기에 정상인 계약 버전으로 바꿔 끼우고, 실제 이용자들이 돈을 넣기를 기다렸다. 금고가 충분히 커지자 그는 스스로 만들어 준 '잔액'을 인출했다.

네 사람인 척한 한 사람

공격자는 먼처블스 팀이 고용한 개발자로 알려졌다. 블록체인 탐정 잭XBT는 서로 겹치는 추천인, 같은 결제·거래소 입금 주소, 지갑 자금 출처 등을 근거로 개발자로 알려진 네 개의 신원이 사실상 한 사람이라고 연결했다. 결정적으로 이 개발자는 스마트 계약 소유권을 팀에 넘긴 적이 없었다.

온라인에서는 2022년 로닌 브리지 도난의 배후인 북한 라자루스 그룹과 관련이 있다는 소문도 돌았지만 확인된 적은 없다. 한 스튜디오 대표는 2022년 같은 인물을 시범 채용했다가 한 달도 안 돼 끝냈다고 공개적으로 밝혔다.

반환

그리고 반전이 찾아왔다. 사건 뒤 개발자는 자금에 접근할 수 있는 키를 넘기는 데 동의했다. 약 6,050만 달러가 세 번의 거래로 먼처블스에 돌아왔고, 블라스트 핵심 기여자들은 이 돈을 여러 명이 승인해야만 움직일 수 있는 멀티시그 지갑으로 옮겼다.

마음을 바꾼 이유는 끝내 공개적으로 설명되지 않았다. 하지만 온체인 추적이 그토록 빨랐고 공격자의 여러 신원이 순식간에 드러났다는 사실이, 훔친 돈을 쓰기 훨씬 어렵게 만들었을 가능성이 크다.

숫자로 보는 먼처블스 사건

  • 약 6,250만 달러: 2024년 3월 26일 빠져나간 금액
  • 약 6,050만 달러: 세 번의 거래로 반환된 금액
  • 100만 ETH: 공격자가 스스로에게 기록해 둔 가짜 잔액
  • 4개: 추적자들이 한 사람으로 연결한 개발자 신원 수
  • 약 12억 4,000만 달러: 당시 블라스트에 예치된 총자산 규모

진짜 위험을 놓친 보안 감사

먼처블스는 2024년 3월 보안 감사를 마친 상태였다. 소용없었다. 위험은 감사인이 찾아낼 수 있는 코드 버그가 아니라 열쇠를 쥔 사람이었기 때문이다. 감사는 계약이 무엇을 하는지 점검한다. 업그레이드 권한을 쥔 개발자가 그 권한을 이용자에게 등을 돌리는 데 쓸 생각인지까지 알려 주지는 못한다.

WGC의 시각

먼처블스 사건은 블록체인 보안을 이해하려는 이들에게 선물 같은 사례다. 문제를 핵심만 남기고 다 벗겨 내 보여 주기 때문이다. 코드는 영화 속 해킹처럼 뚫린 게 아니었다. 그것을 통제하는 사람이 시킨 대로 정확히 움직였을 뿐이다. 이용자는 게임을 믿었고, 게임은 개발자를 믿었고, 개발자가 열쇠를 돌려줬는지는 아무도 확인하지 않았다.

이용자에게 주는 실용적 교훈은 간단하다. 게임이 암호화폐를 맡기라고 하면, 그 돈을 보관하는 계약을 누가 업그레이드할 수 있는지, 그 권한이 여러 사람에게 나뉘어 있는지 한 사람이 쥐고 있는지 확인하자. '감사 완료'는 반가운 문구지만 '안전함'과 같은 말은 아니다. 이런 실패들이 어떻게 연결되는지는 블록체인 게임 몰락의 교훈 사설에서 더 넓게 살펴본다.

오류 신고