본문으로 건너뛰기

GemPad 및 LeetSwap 취약점 분석: 자동화 도구가 탐지한 250만 달러 규모의 보안 사고

GemPad와 LeetSwap에서 발생한 대규모 보안 사고를 분석하여 재진입 공격과 수수료 조작 취약점의 원인 및 자동화 도구를 통한 탐지 가능성을 제시했다.

실용적 조언

  • 상태 업데이트 로직을 외부 호출 코드보다 항상 앞선 위치에 배치하십시오.
  • 관리자 권한이 필요한 설정 변경 함수에는 최소 24시간 이상의 타임락을 설정하십시오.
  • 복잡한 의존성을 가진 계약의 경우 스캐너의 분석 범위(Coverage)를 확인하여 사각지대를 파악하십시오.

섹션별 상세

01
GemPad의 190만 달러 손실은 전형적인 재진입(Reentrancy) 취약점인 CEI 패턴 위반에서 비롯됐다. createLock() 함수가 내부 회계 장부를 업데이트하기 전에 transferFrom을 통해 외부 토큰 계약을 호출하는 구조로 설계됐다. 악의적인 토큰 계약이 전송 콜백 과정에서 함수에 재진입하여 잠금 상태를 조작함으로써 자금을 탈취했다. Aderyn 스캐너는 이 과정에서 2개의 High 등급을 포함한 총 19개의 이슈를 사전에 식별했다.
02
LeetSwap V2의 63만 달러 피해는 중앙집권화된 수수료 제어 권한의 오용으로 인해 발생했다. 팩토리 소유자가 protocolFeesShare를 100%로 설정하여 모든 스왑 수수료를 가로챌 수 있는 구조적 결함이 존재했다. Slither 정적 분석 도구는 48개의 이슈를 찾아냈으며, AI 에이전트는 관리자 기능에 타임락이나 멀티시그가 없는 거버넌스 부재를 위험 요소로 지목했다. Uniswap V2 포크 시에는 수수료 상한선을 하드코딩하거나 관리자 권한에 제약을 두는 설계가 필수적이다.

용어 해설

재진입 공격(Reentrancy Attack)
스마트 계약의 함수가 실행을 완료하기 전에 외부 호출을 통해 다시 해당 함수를 호출하여 상태를 조작하는 공격 기법이다. 주로 자금 인출 로직에서 상태 업데이트 전에 외부 전송이 발생할 때 악용되며, 이를 방지하기 위해 Checks-Effects-Interactions 패턴 준수가 필수적이다.
CEI 패턴(CEI Pattern)
Checks(조건 확인), Effects(상태 변경), Interactions(외부 호출) 순서로 코드를 작성하는 보안 설계 원칙이다. 외부 계약과의 상호작용을 가장 마지막에 배치함으로써 재진입 공격과 같은 취약점을 원천적으로 차단하는 효과가 있다.
슬리더(Slither)
Solidity 코드를 분석하여 취약점을 찾아내는 정적 분석 프레임워크이다. 코드의 제어 흐름을 분석하여 재진입, 권한 관리 미흡 등 일반적인 보안 결함을 자동으로 탐지하여 개발자에게 경고를 제공한다.

언급된 도구

Aderyn추천

Solidity 정적 분석 및 취약점 탐지

Slither추천

스마트 계약 정적 분석 프레임워크

ReentrancyGuard추천

재진입 공격 방지용 라이브러리

언급된 리소스

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 04. 15.수집 2026. 04. 15.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.