홈 > 뉴스 > 코인뉴스
코인뉴스

NFT 3,832개가 움직였는데 주인은 버튼 하나 누르지 않았다

동학개미기자 0 13 0
수백 개 지갑에 흩어져 있던 NFT 3,832개가 주인 동의 없이 한 지갑으로 모였다

화이트햇이 수백 개 지갑에서 NFT 3,832개를 주인 동의 없이 한 지갑으로 옮겼다. 구조 목적이었지만, 이 이동을 가능하게 한 것은 홀더가 예전에 마켓 컨트랙트에 준 승인 권한이다. 같은 문으로 공격자도 들어올 수 있다는 것이 이번 사건이 남긴 교훈이고, 원인과 반환 시점은 아직 정리되지 않았다.

뉴스 핵심

  • 화이트햇이 주인 동의 없이 NFT 3,832개를 옮길 수 있었던 것은 과거에 준 승인 권한 때문이다.
  • 0xQuit는 이더리움 Payment Processor V2, ApeChain Payment Processor V3 승인 해제를 권고했다.
  • 서비스가 종료돼도 지갑 승인은 스스로 사라지지 않는다.

NFT 3,832개는 누구의 허락으로 움직였나

허락한 사람은 없었다. 적어도 이번 금요일에는 그렇다. 수백 개 지갑에 흩어져 있던 NFT 3,832개가 한 지갑으로 모였고, 주인들은 버튼 하나 누르지 않았다.

처음 이상을 알린 사람은 X에서 Cirrus로 활동하는 NFT 커뮤니티 이용자였다. 그는 이 거래들이 매직에덴(Magic Eden)을 거친 판매처럼 보인다고 짚고, 홀더들에게 예방 차원에서 권한을 거둬들이라고 권했다.

얼마 뒤 유가랩스(Yuga Labs)의 블록체인 부문 부사장 0xQuit가 나섰다. 이 이동은 화이트햇 작업이고, 받는 지갑에 있는 NFT는 안전하며 "will be returned once they are no longer at risk"라고 밝혔다.

허락이 필요 없었던 이유는 훨씬 전에 있었다. 홀더가 언젠가 마켓 컨트랙트에 준 승인이 그대로 살아 있었고, 그 승인을 거치면 주인이 아닌 쪽도 NFT를 옮길 수 있었다.

수백 개 지갑의 NFT 3,832개가 한 지갑으로 모였고 주인들은 버튼 하나 누르지 않았다
수백 개 지갑의 NFT 3,832개가 한 지갑으로 모였고 주인들은 버튼 하나 누르지 않았다

구조와 탈취는 같은 문을 쓴다

이번 사건에서 가장 불편한 대목은 구조가 성공했다는 사실 자체다. 구조자가 주인 동의 없이 3,832개를 옮길 수 있었다면, 같은 경로를 먼저 찾은 공격자도 똑같이 옮길 수 있었다.

NFT 승인은 흔히 setApprovalForAll 방식으로 준다. 컬렉션 하나를 통째로 맡기는 권한이고, 해제하기 전까지 기한 없이 남는다. 집 열쇠를 부동산에 맡긴 뒤 거래가 끝나도 돌려받지 않은 것과 비슷하다.

화이트햇은 그 열쇠가 위험해졌다는 것을 먼저 알고 집 안 물건을 자기 창고로 옮긴 쪽이다. 선의였지만 방식은 공격과 구별되지 않는다. 체인 위에서는 둘 다 같은 거래로 찍힌다.

문이 열려 있었다는 사실은 누가 먼저 들어왔느냐와 상관없이 그대로 남는다.

구조자가 주인 동의 없이 옮길 수 있었다면 같은 경로를 먼저 찾은 공격자도 똑같이 옮길 수 있었다
구조자가 주인 동의 없이 옮길 수 있었다면 같은 경로를 먼저 찾은 공격자도 똑같이 옮길 수 있었다

매직에덴이 아니라 Limit Break 결제 컨트랙트였나

사건 이름에는 매직에덴이 붙었지만, 문제의 컨트랙트는 다른 곳으로 좁혀지고 있다. 0xQuit는 이더리움의 Payment Processor V2와 ApeChain의 Payment Processor V3 승인을 해제하라고 권고했다. Limit Break가 만든 결제 컨트랙트다.

BAYC 커뮤니티 매체 Bored Ape Gazette는 초기 기사에서 매직에덴을 지목했다가 Limit Break 결제 프로세서 문제로 고쳐 적었다. 거래가 매직에덴 판매처럼 보인 것은 여러 마켓이 같은 결제 컨트랙트를 공유하기 때문으로 볼 수 있다.

매직에덴은 자사 컨트랙트가 악용됐다고 공식 확인하지 않았다. 유가랩스 최고경영자 마이클 피게(Michael Figge)는 취약점이 몇 시간 전 발견됐고 곧 추가 정보를 내겠다고 했다.

홀더 입장에서 이 구분은 실용적이다. 마켓 이름이 아니라 컨트랙트 이름으로 승인을 찾아 끊어야 하기 때문이다.

문제 컨트랙트는 Limit Break의 Payment Processor V2(이더리움)와 V3(ApeChain)로 좁혀지고 있다
문제 컨트랙트는 Limit Break의 Payment Processor V2(이더리움)와 V3(ApeChain)로 좁혀지고 있다

문 닫은 마켓의 권한은 왜 남아 있었나

CryptoTimes는 매직에덴이 2026년 3월 이더리움 마켓플레이스를 닫은 뒤에도 남아 있던 옛 승인이 경로가 됐을 가능성을 제기했다. 원인으로 확정된 설명은 아니다.

그래도 이 가능성이 무거운 이유가 있다. 가게는 문을 닫아도 손님이 맡긴 열쇠는 자동으로 돌아오지 않는다. 컨트랙트는 서비스가 끝났다고 스스로 꺼지지 않고, 권한은 홀더가 직접 거둬야만 사라진다.

2022년에도 비슷한 일이 있었다. OpenSea의 구형 Wyvern 컨트랙트 프록시에 남아 있던 승인이 공격에 쓰였다. 그때도 문제는 새 기술이 아니라 잊힌 옛 권한이었다.

4년 간격을 두고 같은 모양이 반복됐다.

0xQuit는 이더리움 Payment Processor V2와 ApeChain Payment Processor V3 승인 해제를 권고했다
0xQuit는 이더리움 Payment Processor V2와 ApeChain Payment Processor V3 승인 해제를 권고했다

3,832개와 2만 개, 규모는 얼마인가

숫자는 아직 하나로 모이지 않았다. 확인된 이동은 한 지갑이 옮긴 3,832개다. 금액으로는 트레이더 anytwocardzz가 약 140만 달러로 추정했지만 검증된 값은 아니다.

Bored Ape Gazette는 6백만 달러 이상, 2만~2만3천 개라고 적었다. 3,832개와 크게 어긋난다. 집계 기준이 다르거나 이후 추가 이동이 있었다는 뜻일 수 있다.

옮겨진 컬렉션에는 BAYC, MAYC, Azuki, Doodles, Moonbirds, CloneX, DeGods 등이 이름을 올렸다. 특정 프로젝트 하나의 문제가 아니라 공통 결제 컨트랙트를 쓴 여러 컬렉션에 걸친 일이라는 점이 규모보다 더 많은 것을 말해 준다.

내 NFT를 돌려받는 날은 누가 정하나

반환 시점은 홀더가 아니라 유가랩스 쪽이 정한다. 0xQuit의 약속은 위험이 사라지면 돌려준다는 것이고, 그 판단도 보관하는 쪽의 몫이다.

전례는 있다. 2026년 6월 8일 Flooring Protocol이 뚫렸을 때 유가랩스는 BAYC 29개와 CryptoPunks 2개를 포함한 NFT 68개, 50만 달러 이상어치를 빼냈다. 피게는 자사 GrailsOTC 트레이딩 데스크가 돈과 NFT를 먼저 대 구조했다고 밝혔고, 자산은 피해자 반환을 위해 보관됐다.

돈의 흐름으로 보면 구조는 공짜 자선이 아니다. 피해를 피한 이익은 홀더에게 가고, 자금과 보관 책임은 유가랩스가 떠안는다. 대신 그 몇 시간 또는 며칠 동안 내 자산의 열쇠는 남의 손에 있다.

이번 사건이 가르쳐 주는 것은 좋은 구조자를 믿으라는 말이 아니다. 누구의 선의에도 기댈 필요가 없도록, 쓰지 않는 승인은 스스로 끊어 두는 것이 NFT를 가진 사람의 가장 값싼 보험이다.

동학개미 기자 · 생활 밀착형 시장 기자서학개미 캐릭터 기자 · AI 보조 및 편집진 검토 투자 유의사항

이 글은 NFT 승인 권한 사고를 설명한 것으로 특정 NFT·가상자산의 매수나 매도를 권하지 않습니다. 취약점 원인·규모·반환 시점은 아직 확정되지 않아 이후 내용이 달라질 수 있고, 지갑 관리와 투자 판단의 책임은 이용자 본인에게 있습니다.

다른 뉴스 더 보기
관심 있는 시장의 최신 흐름을 이어서 확인하세요.

, , , , , , , , ,

0 Comments
‘코인뉴스’ 글은 텔레그램 뉴스 에서도 바로 받아보실 수 있습니다
텔레그램에서 보기
속보 채널 @seohakant · 자동매매 문의 @seohaktant_bot

공지사항


광고제휴문의