Back to Blog
·
9분 읽기

EIP-7702 Account Abstraction 보안 위험

네이티브 위임과 스폰서 트랜잭션의 새로운 보안 과제

EIP-7702는 이더리움에 Account Abstraction을 도입하여 사용자 경험을 크게 개선하는 제안입니다. 하지만 새로운 기능은 새로운 보안 위험을 동반합니다. 이 글에서는 EIP-7702의 주요 보안 위험과 사용자가 취해야 할 대응 방안을 설명합니다.

EIP-7702란 무엇인가?

EIP-7702는 EOA(Externally Owned Account)가 스마트 컨트랙트 코드를 실행할 수 있도록 하는 제안입니다. 이를 통해 가스 스폰서링, 배치 트랜잭션, 세션 키 등의 기능이 가능해집니다.

주요 기능

  • 네이티브 위임: EOA가 트랜잭션 실행 권한을 다른 주소에 위임할 수 있습니다
  • 가스 스폰서링: 제3자가 사용자 대신 가스비를 지불할 수 있습니다
  • 배치 트랜잭션: 여러 트랜잭션을 하나로 묶어 실행할 수 있습니다
  • 세션 키: 임시 키로 제한된 권한의 트랜잭션을 실행할 수 있습니다

주요 보안 위험

1. 무제한 위임의 위험

EIP-7702는 EOA가 스마트 컨트랙트에 트랜잭션 실행 권한을 위임할 수 있게 합니다. 악의적인 컨트랙트에 위임하면 모든 자산을 잃을 수 있습니다. 토큰 승인과 달리, 위임은 EOA의 전체 제어권을 넘기는 것이므로 더 큰 위험이 있습니다.

2. 피싱 공격의 진화

피싱 사이트가 EIP-7702 위임을 요청하면, 사용자는 단순히 토큰만 잃는 것이 아니라 전체 지갑의 제어권을 잃을 수 있습니다. 기존 피싱 공격보다 훨씬 치명적입니다.

3. 가스 스폰서링 남용

가스 스폰서링은 편리하지만, 악의적인 스폰서가 사용자 모르게 유해한 트랜잭션을 실행하도록 유도할 수 있습니다. 사용자는 가스비가 없어도 트랜잭션이 실행되므로 더 쉽게 속을 수 있습니다.

4. 복잡성 증가로 인한 취약점

Account Abstraction은 시스템 복잡성을 크게 증가시킵니다. 더 많은 코드는 더 많은 버그를 의미하며, 스마트 컨트랙트 취약점이 발견될 가능성도 높아집니다.

보안 대응 방안

사용자를 위한 보안 수칙

  • 신뢰할 수 있는 컨트랙트만 사용: 감사받은 프로토콜만 사용하고, 검증되지 않은 dApp의 위임 요청은 거부하세요
  • 정기적인 위임 검토: WalletGuard 같은 도구로 월 1회 위임 내역을 확인하고 취소하세요
  • 하드웨어 지갑 사용: 고액 자산은 Account Abstraction을 지원하지 않는 하드웨어 지갑에 보관하세요
  • 트랜잭션 시뮬레이션: 서명 전에 트랜잭션의 실제 효과를 시뮬레이션 도구로 확인하세요
  • 다중 지갑 전략: 고액 자산 지갑과 DeFi 활동 지갑을 분리하세요

개발자를 위한 보안 가이드

  • 철저한 감사: Account Abstraction 컨트랙트는 반드시 여러 감사 기관의 검증을 받아야 합니다
  • 최소 권한 원칙: 위임받은 권한을 필요한 최소한으로 제한하세요
  • 명확한 UI/UX: 사용자가 위임의 범위와 위험을 명확히 이해할 수 있도록 설명하세요
  • 취소 메커니즘: 사용자가 쉽게 위임을 취소할 수 있는 기능을 제공하세요

결론

EIP-7702는 이더리움 사용자 경험을 혁신적으로 개선할 잠재력을 가지고 있습니다. 하지만 새로운 기능은 새로운 위험을 동반하며, 사용자와 개발자 모두 이를 충분히 이해하고 대비해야 합니다.

Account Abstraction이 안전하게 채택되려면 충분한 시간과 테스트가 필요합니다. 초기 단계에서는 특히 신중하게 사용하고, 정기적으로 보안 도구를 활용하여 자산을 보호해야 합니다.