In-depth Research Report: Resolv Protocol Hack Incident, Who Ultimately Bears the Cost?
- 핵심 관점: Resolv 프로토콜의 USR 스테이블코인이 공격을 받았습니다. 공격자는 발행 함수의 핵심 취약점을 악용하여 극히 낮은 비용으로 막대한 양의 USR을 발행하고 현금화했으며, 이는 델타 중립 스테이블코인 구조가 극도의 자본 효율성을 추구하는 과정에서 담보 완충 장치의 부재와 오프체인 구성 요소 의존으로 인해 존재하는 체계적 보안 위험을 드러냈습니다.
- 핵심 요소:
- 공격자는 약 10만 달러 상당의 USDC만 투입하여 발행 취약점(아마도 오프체인 서명자 키 유출 또는 금액 검증 누락)을 통해 약 8000만 달러 상당의 8000만 개 USR을 무에서 창조했습니다.
- 공격자는 Curve 등의 유동성 풀에서 USR을 매도하여 약 2500만 달러를 현금화했으며, 이로 인해 USR 가격이 17분 만에 최저 2.5센트까지 폭락하여 유동성 풀이 붕괴되었습니다.
- 프로토콜 설계에 따르면, 손실은 먼저 RLP(후순위 계층) 보험 풀이 부담하지만, USR 가격의 페그 이탈로 인해 Morpho 등의 대출 프로토콜에서 고레버리지 순환 포지션이 청산되어 2차 손실이 발생했습니다.
- 이번 사건은 델타 중립 스테이블코인의 근본적인 약점을 드러냈습니다: 오프체인 서명자가 중앙화된 공격 표면이 되며, '1:1 자본 효율성' 설계는 안전 완충 장치가 부족하여 발행 로직의 취약점이 시스템을 직접 관통할 수 있습니다.
- 이번 공격은 Curve, Morpho, Fluid, Euler 등 여러 DeFi 프로토콜에 영향을 미쳤으며, 이는 DeFi의 조합 가능성이 위기 시기에 위험을 증폭시킬 수 있는 특성을 보여줍니다.
원문 저자: 보채보채 (X: @bocaibocai_)
핵심 요약
공격 수법: 공격자는 약 10만 달러 상당의 USDC만을 사용하여, USR 발행 함수의 핵심 취약점(오라클 조작, 오프체인 서명자 키 유출, 또는 발행 요청과 실행 사이의 금액 검증 부재)을 악용해 8000만 개의 USR(약 8000만 달러 상당)을 무(無)에서 창조한 후, 신속하게 실제 자산으로 교환했습니다.
차익 실현 경로: 공격자는 불법적으로 발행된 USR을 Curve Finance 등의 유동성 풀에 분할 매도하여 USR 가격이 최저 2.5센트까지 폭락하게 만들었고, 앵커(1달러 페그) 이탈 혼란 속에서 약 2500만 달러를 현금화한 후, 차익을 ETH로 전환하여 탈출했습니다.
손실 분배: Resolv의 이중 계층 위험 구조 설계 논리에 따르면, 이번 공격으로 인한 담보 부족분은 먼저 RLP 보험 풀 보유자(RLP 가격은 프로토콜 순자산 가치 하락에 따라 하락)가 부담하며, USR 보유자는 프로토콜 상환 중단 전까지 이론적으로 보호받습니다. 그러나 Morpho 등의 대출 프로토콜에서 USR을 담보로 한 레버리지 순환 포지션(Looping)은 앵커 이탈로 강제 청산되어 2차 손실이 발생했습니다.
연쇄 영향 프로토콜: 주요 피해를 입은 DeFi 프로토콜은 다음과 같습니다: Curve Finance(USR/USDC 유동성 풀 순간 붕괴), Morpho(USR을 담보로 한 레버리지 포지션 청산 유발), Fluid 및 Euler(마찬가지로 USR/RLP 순환 포지션 존재).
업계 경고: 이번 사건은 델타 중립 스테이블코인의 근본적인 약점을 드러냈습니다. 발행 논리와 오프체인 서명/오라클의 결합점은 시스템에서 가장 취약한 공격 표면이며, "1달러로 1달러 발행"과 같은 자본 효율성 설계는 극도로 엄격한 계약 보안 감사를 전제로 해야 합니다.
1. RESOLV와 USR: 이 체계를 이해해야 이번 공격을 이해할 수 있다
공격을 논하기 전에, USR이 어떻게 작동하는지 먼저 파악해야 합니다. 공격자는 바로 그 설계에서 가장 정교하면서도 가장 취약한 부분을 악용했기 때문입니다.
USR의 핵심 메커니즘: 델타 중립 스테이블코인
USR은 USDT처럼 은행 예금으로 뒷받침되는 스테이블코인도 아니고, DAI처럼 초과 담보형 스테이블코인도 아닙니다. 이는 델타 중립 스테이블코인으로, "한쪽은 ETH 현물 보유 + 다른 한쪽은 ETH 무기한 선물 공매"를 통해 순 위험 중립성을 실현하는 구조입니다[주1].
논리는 다음과 같습니다:
당신이 1달러 상당의 ETH를 예치하여 1개의 USR을 발행할 때, Resolv 프로토콜은 동시에 무기한 선물 시장에서 동등한 양의 ETH 공매 포지션을 개시합니다. ETH가 오르면, 현물은 이익을 보고 선물은 손실을 봅니다. ETH가 떨어지면, 선물은 이익을 보고 현물은 손실을 봅니다. 서로 상쇄되어 순자산은 항상 약 1달러에 가깝게 유지됩니다. 이는 USR을 ETH 가격과 분리시키면서도 1:1 달러 앵커를 유지하게 합니다[주2].
이 구조의 장점은 자본 효율성이 매우 높다는 점입니다: 1달러의 ETH만으로 1개의 USR을 발행할 수 있어 초과 담보가 필요하지 않습니다. 수익원은 헤지 포지션의 자금 조달 비율(롱 포지션이 숏 포지션에 지급하는 비용)과 ETH 스테이킹 수익이며, USR 보유자는 이로 인해 약 5-6%의 연간 수익률을 얻을 수 있고, 스테이킹 버전인 stUSR의 이자율은 더 높습니다[주3].

이중 계층 구조: USR과 RLP의 위험 분리
Resolv은 "누가 프로토콜 운영 위험을 부담할 것인가"라는 문제를 해결하기 위해 이중 토큰 구조를 설계했습니다:
USR 계층(우선 순위 높음): 보유자는 안정적인 앵커 보호를 누리며, 손실을 부담하지 않습니다.
RLP 계층(열후 계층): RLP 보유자는 프로토콜의 "보험 풀" 역할을 하여 시장 위험, 거래 상대방 위험(예: 자금 조달 비율이 지속적으로 음수인 경우) 및 잠재적 계약 위험을 부담하며, 그 대가로 더 높은 수익(20-40% 연간)을 얻습니다[주4].
규칙은 분명합니다: 어떤 손실이든 먼저 RLP에서 공제하고, 그 다음에 USR에서 공제합니다. USR의 담보 비율이 110% 이하로 떨어지면, RLP 상환이 자동으로 동결되어 USR 보유자를 우선 보호합니다[주5].
이는 이번 공격의 손실 분배를 이해하는 핵심 전제입니다.
공격 핵심: 발행 함수에 도대체 어떤 문제가 있었나?
이는 현재 가장 중요하면서도 정보가 가장 불완전한 부분입니다. 온체인 데이터는 한 가지 사실을 이미 확인시켜 주었습니다: 공격자는 10만 달러의 USDC로 5000만 달러 상당의 USR을 "구매"했습니다[1]. 이 1:500의 발행 비율은 계약의 발행 금액 검증이 완전히 무효화되었음을 의미합니다.
암호화폐 펀드 D2 Finance는 세 가지 가능한 공격 경로 가설을 제시했습니다[주9]:
가설 A: 오라클 조작(Oracle Manipulation). USR의 발행 가격은 가격 오라클에 의존합니다. 공격자가 한 거래 내에서 임시로 오라클 가격을 낮출 수 있다면(예: 플래시 론으로 매도), 계약이 사용자가 예치한 자산 가치가 더 높다고 착각하게 만들어 초과 USR을 발행할 수 있습니다[주6].
가설 B: 오프체인 서명자 키 유출(Off-Chain Signer Compromise). Resolv의 발행 절차에는 오프체인 서명 검증 단계가 포함됩니다. 사용자의 발행 요청은 프로토콜의 백엔드 서비스 서명을 거쳐야 실행될 수 있습니다. 이 서명 키가 도난당했다면, 공격자는 모든 온체인 제한을 우회하여 임의 금액의 합법적 발행 명령을 위조할 수 있습니다[2].
가설 C: 요청과 실행 사이의 금액 검증 부재(Validation Gap). 발행 절차는 "요청 시작"과 "발행 실행" 두 단계로 나뉩니다. 계약이 실행 시 최종 실행 금액이 요청 금액과 엄격히 일치하는지 검증하지 않는다면, 공격자는 요청 시작 후 실행 전에 매개변수를 변조하여 초과 발행을 실현할 수 있습니다.
보고서 작성 시점까지, Resolv 공식 측은 완전한 취약점 근본 원인 분석(RCA)을 공개하지 않았기 때문에, 위 세 가지 가설의 우선순위는 아직 최종 확인할 수 없습니다.
공격 효과로 판단하면, 가설 B(서명자 키 유출) 또는 가설 C(검증 논리 부재)의 가능성이 더 높습니다. 오라클 조작은 일반적으로 대량 자금이 필요하고 그렇게 극단적인 가격 편차를 구현하기 어렵기 때문입니다. 반면 8000만 개의 USR이 발행될 때 공격자가 실제로 투입한 자금은 극히 제한적이어서 "계약 검증 우회" 특징과 더 부합합니다.
공격자는 어떻게 현금화했나: 교과서적인 DeFi 탈출 시나리오
공격자가 8000만 개의 USR을 손에 넣은 후 직면한 도전은 다음과 같았습니다: 가짜로 발행된 스테이블코인을 어떻게 실제 가치로 전환할 것인가?
D2 Finance는 이를 "교과서적인 DeFi 해커 차익 실현 경로"라고 명명했습니다: 공격자는 USR을 여러 유동성 프로토콜에 분할 송금하여, 우선 Curve Finance의 USR/USDC 풀(USR 최대 유동성 풀, 일일 거래량 360만 달러)에 대량 매도했습니다[주10].
Curve의 유동성은 한정적이기 때문에, 8000만 개의 USR이 갑자기 유입되자 풀이 완전히 붕괴되었습니다. USR 가격은 17분 만에 1달러에서 2.5센트로 폭락했습니다. 공격자는 1달러에 전부 매도하려는 것이 아니라, 0.25달러~0.5달러 구간에서 점진적으로 USDC/USDT로 교환하여, 최종적으로 차익 자금을 ETH로 전환하여 탈출을 완료했습니다.
PeckShield 추정에 따르면, 최종 현금화 금액은 약 2500만 달러입니다[주11]. 극히 낮은 가격 구간에서 대량의 USR이 매도되어 발생한 슬리피지 손실을 고려할 때, 이 수치는 공격자의 실제 추출 비율이 약 30%(2500만/8000만)임을 의미합니다. 나머지 7할의 "가치"는 유동성 고갈로 인한 엄청난 슬리피지 속에서 사라졌습니다.

3. 앵커 이탈 이후: USR, RLP 및 담보 체계에 무슨 일이 일어났나
USR의 담보 비율 순간 붕괴
정상 작동 시, USR은 1:1로 ETH + 헤지 포지션에 의해 뒷받침됩니다. 그러나 8000만 개의 무담보 USR이 시스템에 발행된 후, 전체 USR 공급량에 대응하는 실제 자산은 1:1 상환을 충당하기에 턱없이 부족합니다. 담보 비율이 크게 100% 아래로 떨어졌습니다.
이는 직접적으로 RLP 계층의 보호 메커니즘을 촉발시켰습니다. 프로토콜은 이론적으로 RLP 상환을 동결하여 USR 보유자를 우선 보호해야 합니다. 그러나 동시에, USR 자체가 이미 앵커에서 이탈했기 때문에(2차 시장 거래 가격 약 0.87달러), USR 보유자도 시가 매도 손실에 직면하게 됩니다.
대출 프로토콜의 연쇄 청산
이는 이번 사건에서 가장 저평가된 연쇄 피해 중 하나입니다.
Resolv의 성장은 크게 한 가지 전략에 의존했습니다: 사용자가 USR을 담보로 Morpho, Fluid, Euler 등의 대출 프로토콜에 예치하고, USDC를 차입한 후, 더 많은 USR을 구매하는 과정을 반복하여 레버리지 순환 포지션(Looping)을 형성하는 것입니다. 일부 사용자의 레버리지 배율은 10배에 달했습니다[3].
USR 가격이 1달러에서 0.87달러 이하로 급락했을 때, 이러한 레버리지 포지션의 담보 가치는 순간적으로 13% 이상 증발했습니다. 대출 프로토콜은 담보 비율이 청산선 아래로 떨어지면 자동으로 강제 청산을 실행하기 때문에, 대량의 USR이 봇에 의해 청산되어 더 많은 USR이 2차 시장에 유입되어 가격을 더욱 하락시켰습니다. 이는 고전적인 데스 스파이럴 압력을 형성했습니다[주7].
Morpho에는 전용 "MEV Capital Resolv USR Vault"가 있었으며, 공격 전 TVL이 상당한 규모에 도달했고, 이러한 포지션이 연쇄 피해의 주요 수혜(受惠)자가 되었습니다[4].
프로토콜 TVL의 급격한 위축
Resolv의 공격 전 TVL은 수억 달러 규모(최고치 6.5억 달러 이상, 주로 Morpho와 Euler의 레버리지 포지션에 의해 주도됨)로 성장했습니다. 프로토콜이 중단된 후, 사용자는 USR을 상환할 수 없게 되었고, TVL 수치 계산도 USR 가격 앵커 이탈로 인해 혼란에 빠졌습니다[5].
4. 손실은 누가 부담하는가? 각 측의 위험 노출 분석

RLP 보유자는 설계상 제1 손실 계층입니다. 공격으로 인한 담보 부족분(8000만 개의 무담보 USR 발행)은 직접적으로 RLP 순자산 가치 하락으로 반영될 것입니다. RLP 가격은 프로토콜 초과 담보 부분의 권리 증표이며, 프로토콜 전체에 미처리 부채가 발생하면 RLP가 먼저 평가 절하됩니다[6].
USR


