피드로 돌아가기
veil-cli: a terminal wallet that makes you understand before you sign
Dev.toDev.to
Security

Keystore v3와 Anvil 포킹 기반의 EVM 트랜잭션 사전 검증 파이프라인 구현

veil-cli: a terminal wallet that makes you understand before you sign

Alexander2026년 6월 2일5intermediate

Context

기존 EVM 지갑의 불투명한 Hex 문자열 기반 서명 방식으로 인한 보안 취약점 존재. RPC Validation만으로는 온체인 Revert 여부를 사전에 판단할 수 없는 구조적 한계 분석.

Technical Solution

  • Etherscan, Sourcify, 4byte.directory 순의 계층적 ABI Resolve 전략을 통한 Calldata 가독성 확보
  • Anvil 로컬 포킹 기반의 시뮬레이션을 수행하여 가스비 소모 전 실제 Balance Diff를 정량적으로 검증
  • node:crypto 기반 Keystore v3 표준 구현 및 timingSafeEqual 적용을 통한 Side-channel Attack 방어
  • scryptKDF 연산 시 발생하는 Event Loop 블로킹 방지를 위한 Async 처리 및 Node.js maxmem 160MB 확장
  • tx.json 파일 기반의 트랜잭션 정의를 통해 서명 전 단계에서 버전 관리 및 검토가 가능한 파이프라인 설계
  • GoPlus Security API 연동 및 Heuristics 분석을 통한 Honeypot 및 Blacklist 사전 탐지 로직 구축

- 보안 민감 데이터 처리 시 표준 Keystore 포맷 준수 및 timingSafeEqual 사용 검토 - 외부 API 의존성을 줄이기 위해 Fallback 전략을 가진 다중 데이터 소스 아키텍처 설계 - CPU 집약적 암호화 연산 시 Node.js 이벤트 루프 차단을 막기 위한 비동기 API 채택 및 메모리 제한 설정 확인 - 사용자의 최종 승인 전 시뮬레이션 단계(Simulation-before-Sign)를 도입하여 런타임 에러 사전 차단

원문 읽기