피드로 돌아가기
Dev.toSecurity
원문 읽기
Cold Wallet 기반 BPFLoader 직접 서명 구조로 Upgrade Authority 보안 강화
Your Solana Program's Upgrade Key Is a Ticking Time Bomb - and most developers have no idea.
AI 요약
Context
Solana 프로그램의 Upgrade Authority가 Hot Wallet 기반의 Keypair 파일 형태로 관리되어 공급망 공격 및 유출 위험에 노출된 상황. 기존 Solana CLI와 Anchor Deploy 도구가 로컬 파일 경로만 지원하여 Hardware Wallet의 Private Key 비노출 원칙과 충돌하는 구조적 한계 존재.
Technical Solution
- BPFLoader Upgrade Instruction을 브라우저 단에서 직접 생성하여 CLI 의존성 제거
- WalletConnect 프로토콜을 통한 Hardware Wallet의 직접 서명 체계 구축으로 Private Key 유출 경로 원천 차단
- BPFLoader가 CPI(Cross-Program Invocation)를 통한 업그레이드를 거부하는 특성을 고려하여 Top-level Transaction으로 설계
- 하드웨어 서명이 포함된 Memo를 온체인에 기록하여 업그레이드 이력에 대한 불변의 감사 추적(Audit Trail) 구현
- NFC 및 QR 기반의 물리적 승인 절차를 통해 Malware에 의한 무단 프로그램 변경 가능성 제거
실천 포인트
- 프로그램 Upgrade Authority를 즉시 Cold Wallet으로 이전하여 Hot Key 노출 위험 제거 - CI/CD 파이프라인 내에 Private Key를 환경 변수나 Secret 형태로 저장하는 패턴 지양 - 온체인 거버넌스나 Multisig 도입 전까지는 물리적 하드웨어 서명 기반의 배포 프로세스 검토 - 배포 이력을 증명할 수 있는 온체인 로그 생성 로직 설계