Skip to content
Blockchain

스마트 컨트랙트를 업그레이드하면 감사자가 이미 승인한 스토리지를 조용히 손상시킬 수 있는 이유는 무엇인가?

82

기회

업그레이드 가능한 프록시 패턴(UUPS, Transparent Proxy, Diamond)은 프로덕션 DeFi에서 표준으로 사용되지만 엄격한 제약이 따른다. 새 구현체의 스토리지 레이아웃은 이전 구현체가 할당한 모든 슬롯과 호환되어야 한다. 잘못된 위치에 새 상태 변수를 삽입하면 이후의 모든 슬롯이 온체인 오류 없이 조용히 손상된다. OpenZeppelin의 업그레이드 플러그인 같은 자동화 검사기는 단순한 경우는 잡아내지만, 커스텀 패킹을 사용하는 ERC-7201 네임스페이스 스토리지, 어셈블리 수준의 슬롯 할당, 두 패싯이 동일한 스토리지 영역을 사용하는 Diamond 패싯 간 충돌은 감지하지 못한다. 2026년 1월 동료 심사를 거친 연구(ProxyLens)는 기존 도구로는 감지할 수 없는 패싯 간 충돌 취약점의 주요 범주를 발견했다. 감사자는 구현 컨트랙트를 개별적으로 검토하기 때문에 여러 위임된 패싯을 가진 프록시의 전체 스토리지 맵을 재구성할 수 없다.

왜 중요한가

모든 프록시 및 구현 컨트랙트에 걸쳐 버전 비교된 완전한 스토리지 맵을 구축하는 도구가 있다면, 조용히 발생하는 데이터 손상을 배포 차단으로 전환할 수 있다.

기회 평가 방식

기회 점수는 측정값이 아닌 제 주관적 평가입니다. 얼마나 불편한지, 얼마나 자주 발생하는지, 현재 해결책이 얼마나 부족한지를 반영합니다. 점수가 높을수록 만들 가치가 더 높다고 생각합니다.

심각도9/10

발생했을 때 얼마나 큰 불편을 초래하는지.

빈도6/10

실제로 얼마나 자주 접하게 되는지.

공백 영역8/10

현재 이를 해결할 만한 도구가 얼마나 부족한지.

해결할 가치 있는 더 많은 문제들