피드로 돌아가기
Dev.toSecurity
원문 읽기
ERC-20 Approve 함수 오남용을 통한 $3,670 자산 탈취 분석
jackswap.com Malicious Contract Drained My $3,670.00 Balance
AI 요약
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 수치 정밀 검증