피드로 돌아가기
jackswap.com Malicious Contract Drained My $3,670.00 Balance
Dev.toDev.to
Security

ERC-20 Approve 함수 오남용을 통한 $3,670 자산 탈취 분석

jackswap.com Malicious Contract Drained My $3,670.00 Balance

temp2026년 6월 27일11intermediate

Context

사용자 UX를 모방한 가짜 DEX 인터페이스를 통해 Web3 지갑 연결을 유도하는 구조. 표준 ERC-20 토큰의 권한 위임 메커니즘을 악용하여 프라이빗 키 탈취 없이 자산을 인출하는 공격 설계.

Technical Solution

  • ERC-20 표준의 approve 함수를 이용한 무제한 토큰 사용 권한 획득
  • uint256 최대값 설정을 통해 사용자 자산 전체에 대한 접근 권한을 확보하는 Unlimited Approval 공격 수행
  • Uniswap 등 메이저 DEX의 UX/UI를 복제하여 사용자의 보안 경계심을 무너뜨리는 사회공학적 프론트엔드 설계
  • 스마트 컨트랙트 승인 트랜잭션을 통해 지갑 내 자산을 외부 주소로 자동 전송하는 Asset-harvesting 로직 구현
  • 정교한 APY 수치 제시 및 SNS 조작을 통한 신뢰 기반의 트래픽 유입 경로 구축

1. `approve` 호출 시 필요한 최소 금액만 설정하는 Exact Amount Approval 적용 여부 검토

2. Revoke.cash 등 외부 툴을 이용한 활성 권한 주기적 감사 수행

3. 스마트 컨트랙트 인터랙션 전 오픈소스 코드 및 외부 감사(Audit) 보고서 확인 절차 수립

4. 지갑 연결 시 요청되는 트랜잭션의 Spender 주소와 Approved Amount 수치 정밀 검증

원문 읽기