import { Image } from 'next/image'
안녕하세요, 암호화폐 애호가 여러분! 분산 금융(DeFi) 분야에 관심이 있으시다면 인기 있는 영구 선물 거래 플랫폼 GMX에서 발생한 최근 보안 사고 소식을 들어보셨을 겁니다. BlockSec 팀은 2025년 7월 9일 GMX의 주문 키퍼 계정을 노린 익스플로잇에 대한 초기 분석을 공개하며 큰 충격을 안겼습니다. 블록체인에 익숙하지 않은 분들도 이해하기 쉽도록 내용을 하나씩 풀어 설명해 드리겠습니다.
GMX 주문 키퍼에 무슨 일이 있었나?
BlockSec 트윗에 따르면 문제는 GMX 주문 키퍼 계정(주소: 0xd4266f8f82f7405429ee18559e548979d49160f3)에서 발생한 트랜잭션에서 시작됐습니다. 이 계정은 플랫폼에서 주문을 실행하는 역할을 하며, executeDecreaseOrder
라는 함수에서 첫 번째 인자로 계약 주소를 전달합니다. 기술적인 설명 같지만 쉽게 말하면, 이 함수는 오픈 포지션을 줄이는 작업을 처리하는 것입니다. 그러나 공격자는 여기에 재진입 공격(reentrancy attack)이라는 교묘한 수법을 이용해 익스플로잇을 성공시켰습니다.
재진입 공격이란 악의적인 계약이 원래 함수가 완료되기 전에 피해자의 계약을 다시 호출하는 상황을 말합니다. 마치 누군가 말하는 도중에 끼어들어 상대방이 의도보다 더 많이 내주도록 속이는 것과 비슷하죠! 이번 경우 공격자는 이 취약점을 이용해 자금을 빼돌리거나 시스템을 조작했습니다. 자세한 내용은 아직 밝혀지고 있지만, DeFi 해킹에서 자주 등장하는 고전적인 수법입니다.
공격자의 전략을 더 깊이 들여다보기
다른 트윗에서는 주문 키퍼 자체가 침해된 것은 아니라고 밝혔습니다. 대신 공격자가 만든 별도의 계약이 시스템을 속여 악의적인 주문을 처리하게 만든 것입니다. 즉, 공격자가 주문 키퍼를 직접 해킹한 게 아니라 executeDecreaseOrder
함수가 외부 호출을 처리하는 방식의 취약점을 이용해 커스텀 계약으로 공격을 수행한 셈이죠.
스마트 계약에 익숙한 분들이라면, 이는 해당 함수 로직의 결함 또는 재진입 방지 장치 부족을 의미합니다. 재진입 방지 장치(reentrancy guard)는 현재 작업이 끝나기 전까지 계약이 다시 호출되는 것을 막는 ‘잠금장치’ 같은 역할을 합니다. 없으면 공격자가 계약을 반복 호출해 자금을 탈취할 수 있는데, 2016년 DAO 해킹처럼 악명 높은 사례들이 있습니다.
DeFi 및 블록체인 보안에 미치는 의미
이번 사고는 DeFi 커뮤니티에 경종을 울립니다. Arbitrum 블록체인 위에 구축된 GMX는 영구 선물 거래를 탈중앙화 방식으로 제공해 사용자에게 자금 통제권을 부여하는 플랫폼입니다. 하지만 조지아텍(Georgia Tech) 기사에서도 지적하듯, 최고 수준의 DeFi 플랫폼도 취약점이 존재하면 해커의 표적이 될 수 있습니다. 중앙 집중식 감독이 없다는 점이 장점이지만, 문제가 발생했을 때 즉각적인 대응책이 부족한 면도 있죠.
재진입 공격은 새롭지 않습니다. 2023년 dForce 해킹 사례가 얼마나 치명적인지 보여줬죠. TechTarget 가이드에서는 재진입 방지 장치 추가와 외부 호출 관리를 핵심 방어책으로 권고합니다. GMX 입장에선 코드 감사나 취약점 보완을 위한 업그레이드가 필요할 수 있습니다.
GMX와 커뮤니티의 다음 행보는?
2025년 7월 10일 오전 12시 21분 JST 기준으로 피해 규모는 아직 명확하지 않습니다. 하지만 블록체인 커뮤니티는 이번 익스플로잇을 이해하기 위해 BlockSec과 xdev_10 같은 전문가들이 선두에 서서 활발히 분석 중입니다. 밈 토큰 트레이더나 블록체인 실무자라면 이번 기회를 통해 스마트 계약 보안에 대해 다시 한번 점검해 보는 것이 좋습니다. Medium의 재진입 공격 설명이나 GMX의 GitHub 저장소(gmx-io/gmx-contracts)를 참고해 플랫폼 내부 구조를 이해해 보세요.
Meme Insider는 특히 밈 토큰과 교차하는 블록체인 기술 최신 소식을 전하며 여러분의 지식 향상을 돕고 있습니다. 앞으로도 이번 사건 관련 소식을 지속적으로 전해드릴 예정이니 기대해 주세요. 질문이나 의견이 있으시면 댓글로 남겨 주세요. 여러분의 목소리를 듣고 싶습니다!