Resolv 프로토콜 해킹 사건 심층 연구 보고서, 마지막 구매자는 누구인가?
핵심 요약
공격 방식: 공격자는 약 10만 달러 USDC를 사용하여 USR 발행 함수의 주요 취약점을 이용했습니다. ------ 이는 오라클이 조작되었거나, 오프체인 서명자의 키가 유출되었거나, 발행 요청과 실행 간에 금액 검증이 부족했을 가능성이 있습니다. ------ 이를 통해 8천만 개의 USR(약 8천만 달러 가치)을 무작위로 발행한 후, 신속하게 실제 자산으로 교환했습니다.
차익 거래 경로: 공격자는 불법으로 발행된 USR을 여러 차례에 걸쳐 Curve Finance와 같은 유동성 풀에 매각하여 USR 가격이 최저 2.5센트로 떨어지게 했고, 탈피 혼란 속에서 약 2천5백만 달러를 현금화한 후, 차익 거래 수익을 ETH로 전환하여 세탁을 완료했습니다.
손실 분배: Resolv의 이중 위험 구조 설계 논리에 따르면, 이번 공격으로 발생한 담보 부족은 우선 RLP 보험 풀 보유자가 부담하게 됩니다( RLP 가격은 프로토콜 자산 순자산 가치 하락에 따라 변동합니다). USR 보유자는 프로토콜이 상환을 일시 중지하기 전 이론적으로 보호받습니다. 그러나 Morpho와 같은 대출 프로토콜에서의 USR 레버리지 순환 포지션(루핑)은 탈피로 인해 강제 청산에 직면하여 2차 손실을 초래했습니다.
연관 프로토콜: 주요 영향을 받은 DeFi 프로토콜에는 Curve Finance(USR/USDC 유동성 풀이 즉시 붕괴됨), Morpho(USR가 담보로 사용된 레버리지 포지션이 청산됨), Fluid 및 Euler(USR/RLP 순환 포지션이 존재함)가 포함됩니다.
산업 경고: 이번 사건은 델타 중립 스테이블코인의 근본적인 약점을 드러냈습니다. ------ 발행 논리와 오프체인 서명/오라클의 결합점이 시스템에서 가장 취약한 공격 면이며, "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로 5천만 달러 가치의 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(검증 논리 누락)의 가능성이 더 높습니다. ------ 왜냐하면 오라클 조작은 일반적으로 많은 자금이 필요하고 그렇게 극단적인 가격 편차를 실현하기 어렵기 때문입니다. 반면 8천만 개의 USR이 발행될 때, 공격자가 실제로 투입한 자금은 극히 제한적이었으며, 이는 "계약 검증 우회"의 특성과 더 부합합니다.
공격자가 현금화하는 방법: 교과서 수준의 DeFi 탈출 시나리오
공격자는 8천만 개의 USR을 확보한 후, 직면한 도전은: 어떻게 가짜 발행된 스테이블코인을 실제 가치로 전환할 것인가입니다?
D2 Finance는 이를 "교과서 수준의 DeFi 해커 현금화 경로"라고 부릅니다: 공격자는 USR을 여러 유동성 프로토콜에 분할하여 전송하고, 우선 Curve Finance의 USR/USDC 풀(USR 최대 유동성 풀, 일일 거래량 360만 달러)에서 대량으로 매각합니다[주10].
Curve의 유동성은 제한적이기 때문에, 8천만 개의 USR이 갑자기 유입되면 풀은 완전히 붕괴됩니다. ------ USR 가격은 17분 만에 1달러에서 2.5센트로 떨어졌습니다. 공격자는 1달러에 모두 판매할 것을 기대하지 않았고, 0.25달러~0.5달러 구간 내에서 점진적으로 USDC/USDT로 교환하여 최종적으로 차익 거래 자금을 ETH로 전환하여 세탁을 완료했습니다.
PeckShield는 최종 현금화 금액이 약 2천5백만 달러에 이를 것으로 추정했습니다[주11]------ 대량의 USR이 매우 낮은 가격 구간에서 판매되어 발생한 슬리피지 손실을 고려할 때, 이 숫자는 공격자의 실제 인출 비율이 약 30% (2500만/8000만)임을 의미합니다. 나머지 70%의 "가치"는 유동성 소진으로 인한 거대한 슬리피지 속에서 사라졌습니다.

삼, 탈피 이후: USR, RLP와 담보 시스템에서 무슨 일이 발생했는가
USR의 담보 비율이 순간적으로 붕괴됨
정상적으로 운영될 때, USR은 1:1로 ETH+헤지 포지션에 의해 뒷받침됩니다. 그러나 8천만 개의 무담보 USR이 시스템에 발행된 후, 전체 USR 공급량에 해당하는 실제 자산은 1:1로 상환하기에 부족합니다. ------ 담보 비율이 크게 100% 이하로 떨어졌습니다.
이는 RLP 층의 보호 메커니즘을 직접적으로 촉발했습니다. ------ 프로토콜은 이론적으로 RLP 상환을 동결하고 USR 보유자를 우선 보호해야 합니다. 그러나 동시에 USR 자체가 이미 탈피했기 때문에(2차 시장 거래 가격 약 0.87달러), USR 보유자는 시가 판매로 인한 손실에 직면하게 됩니다.
대출 프로토콜의 연쇄 청산
이는 이번 사건에서 가장 과소평가된 연관 손해 중 하나입니다.
Resolv의 성장은 크게 한 가지 전략에 의존합니다: 사용자가 USR을 담보로 Morpho, Fluid, Euler와 같은 대출 프로토콜에 예치하고, USDC를 빌려 더 많은 USR을 구매하여 순환하는 레버리지 루프를 형성합니다. 일부 사용자는 레버리지 비율이 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].
사, 손실은 누가 부담할 것인가? 각자의 위험 노출 분석

RLP 보유자는 설계상 첫 번째 손실 층입니다. 공격으로 발생한 담보 부족(8천만 개의 무담보 USR 발행)은 RLP 순자산의 하락으로 직접 반영됩니다. ------ RLP의 가격은 프로토콜의 초과 담보 부분의 권리 증서이며, 프로토콜 전체에 미처리된 부채가 발생할 경우 RLP가 먼저 가치가 하락합니다[6].
USR 레버리지 포지션 보유자는 실제로 가장 큰 손실을 입은 집단입니다. 그들은 청산에 직면할 뿐만 아니라(청산은 일반적으로 5-10%의 벌금이 따릅니다), USR 탈피 기간 동안 고정 가격 이하로 보유 자산을 판매하여 추가 손실을 피할 수 없습니다.
Curve LP 유동성 제공자는 무상 손실을 부담하게 됩니다. ------ 공격자가 대량으로 USR을 판매할 때, LP의 풀은 "50% USR/50% USDC"에서 수동적으로 많은 USR을 흡수하게 됩니다(USDC를 판매하고 더 많은 저가 USR을 보유하게 되어 차익 거래 손실이 발생합니다)[8].
일반 USR 보유자: 설계에 따르면, 프로토콜이 정상적으로 일시 중지 메커니즘을 발동하면 USR 보유자는 남은 실제 담보를 1:1로 상환할 수 있습니다. 그러나 문제는 공격 발생 후 프로토콜이 모든 기능을 중지하여 상환 창이 닫혔고, 실제 판매자는 0.87달러의 시가로 거래할 수밖에 없어 13%의 탈피 손실을 감수해야 한다는 것입니다.
오, 비상 대응: RESOLV 팀의 처리 조치
Resolv 팀의 첫 반응은 즉시 모든 프로토콜 기능을 중지하는 것이었습니다. 발행, 상환 및 전송을 포함하여 공격자의 추가 조작 경로를 차단하기 위해서입니다[1].
보고서 작성 시점까지 Resolv는 공격 발생을 공개적으로 확인했지만, 완전한 사후 분석 보고서(Post-Mortem)와 공식 보상 계획은 아직 발표되지 않았습니다. 이는 DeFi 보안 사건의 전형적인 처리 순서에 부합합니다. ------ 팀은 일반적으로 48-72시간 내에 체인 상 증거 수집 및 취약점 확인을 완료한 후, 상세한 구제 계획을 발표합니다.
주목할 점은 Resolv가 이전에 Immunefi와 협력하여 취약점 보상 프로그램을 설정하고 Hypernative의 능동적 보안 모니터링 시스템을 배포했다는 것입니다[7]. 후자는 이론적으로 비정상적인 발행 사건의 경고 신호를 포착할 수 있어야 합니다. ------ 이는 경고 시스템이 적시에 작동했는지, 아니면 공격 속도가 인위적 개입의 창을 초과했는지에 대한 문제를 제기합니다.
USR이 17분 만에 2.5센트로 폭락한 극단적인 속도를 고려할 때, 공격 실행 효율성이 매우 높고 반응 시간 창이 매우 제한적이었습니다.
육, 유사 프로토콜의 경고: DELTA 중립 스테이블코인의 시스템적 위험
이번 Resolv 사건은 고립된 사건이 아니며, DeFi "합성 달러" 분야에서 전형적인 실패 사례로서의 의미를 지닙니다.

핵심 교훈 1: 오프체인 서명자는 중앙 집중화의 위험입니다. 델타 중립 스테이블코인은 효율적인 발행을 위해 일반적으로 오프체인 백엔드 서비스를 도입하여 주문 검증을 수행합니다. 이 "오프체인 구성 요소"는 본질적으로 중앙 집중화된 권력 노드입니다. ------ 만약 그 개인 키가 유출되면, 공격자는 프로토콜의 발행 권한을 얻는 것입니다. 이는 Web2의 보안 약점을 Web3로 가져오는 것입니다[8].
핵심 교훈 2: "1:1 자본 효율성"은 양날의 검입니다. 초과 담보 시스템(예: MakerDAO)의 설계 철학은 계약에 작은 결함이 있더라도 초과 담보가 일부 손실을 흡수할 수 있다는 것입니다. 델타 중립 시스템은 완전한 버퍼를 제거합니다. ------ 발행 논리의 어떤 결함도 시스템의 비율적 결함을 직접 초래하며, 여유가 없습니다.
핵심 교훈 3: TVL이 빠르게 증가할 때 감사가 따라가지 못합니다. Resolv는 5천만 달러 미만의 TVL에서 3개월 만에 6.5억 달러 이상으로 성장했으며, 주요 동력은 Morpho의 레버리지 순환 전략이었습니다. 시스템의 복잡성과 통합 지점의 급속한 확장은 감사에 큰 압박을 가했습니다. 유사한 교훈은 DeFi 역사에서 자주 발생했습니다: Euler Finance(2023년 3월, 1.97억 달러 손실), Inverse Finance(2022년 4월, 1560만 달러)는 모두 "설계상 합리적이지만 발행/대출 논리에 세부 결함이 있는" 비극입니다[9].
칠, 핵심 결론
이번 공격은 단순한 계약 결함을 드러낸 것이 아니라, 델타 중립 스테이블코인 분야의 구조적 모순을 드러냈습니다.
이야기의 시작은 USR의 설계 야망입니다: 법정 화폐 준비금에 의존하지 않고, 초과 담보에 의존하지 않으며, 오직 헤지 파생상품을 통해 1:1의 자본 효율성을 실현하는 것입니다. 이 설계는 상승 단계에서 논리가 완벽합니다. ------ 사용자가 1달러 ETH로 1개의 USR을 발행하고, 프로토콜이 자금 비용률로 사용자에게 보상하며, 수억 달러의 TVL이 빠르게 집결합니다.
그러나 "1:1의 자본 효율성"은 동시에 시스템이 완전히 담보 버퍼가 없음을 의미합니다. 발행 논리에 결함이 발생하면 ------ 오프체인 서명자 키 유출이든 요청과 실행 간의 검증 누락이든 ------ 공격자는 거의 제로 비용으로 임의의 수량의 스테이블코인을 발행할 수 있습니다. 이는 초과 담보 시스템처럼 안전 패드가 있는 것이 아니라, 시스템을 직접 관통합니다.
8천만 개의 USR의 탄생은 단 10만 달러, 17분, 2.5센트의 가격 바닥을 필요로 했습니다. 공격자는 2천5백만 달러의 실제 가치를 인출했으며, 프로토콜에는 수리 대기 중인 블랙홀이 남았습니다. ------ 그리고 RLP 보유자, 레버리지 포지션 사용자, Curve LP가 공동으로 작성한 실제 비용 청구서가 남았습니다.
Curve, Morpho, Fluid, Euler와 같은 주변 프로토콜의 연관 손해는 DeFi 세계의 "슈퍼 조합성"의 또 다른 면입니다. ------ 프로토콜 간의 통합은 정상 시기에 수익을 확대하지만, 위기 시에도 위험을 확대합니다. 결국, 이 사건의 경고 의미는: DeFi에서 당신이 열어놓은 모든 효율성 창은 당신이 노출된 모든 공격 면입니다. 오프체인 서명자의 존재는 프로토콜을 더 유연하게 만들지만, 동시에 프로토콜에 중앙 집중화된 치명적인 약점을 추가합니다.
주석
[주1] 델타 중립(Delta Neutral): 금융 파생상품 용어. 델타는 자산 가격이 기초 자산 가격 변동에 대한 민감도를 측정합니다. "델타=0"은 포지션이 기초 자산 가격의 상승 및 하락에 따라 손익이 발생하지 않음을 의미합니다. ------ 즉, 충분히 헤지되었습니다. Resolv의 경우, 1달러 ETH(델타=+1)를 보유하고 동시에 동량의 ETH 선물을 공매도(델타=-1)하여 순 델타=0이 되어 "델타 중립"이라고 합니다.
[주2] 영구 계약(Perpetual Futures): 만기일이 없는 선물 계약으로, 암호화폐 시장의 주류 파생상품 도구입니다. 숏 포지션 영구 계약을 보유하면 ETH 가격이 하락할 때 이익을 보고, 상승할 때 손실을 보아 현물 ETH의 가격 위험을 헤지합니다.
[주3] 자금 비용률(Funding Rate): 영구 계약 시장의 균형 메커니즘입니다. 롱 포지션이 숏 포지션보다 많을 때, 롱 포지션은 정기적으로 숏 포지션에 "자금 비용"을 지불합니다. 반대의 경우도 마찬가지입니다. Resolv는 숏 포지션으로서, 암호화 시장에서 일반적으로 자금 비용을 지속적으로 수취할 수 있으며, 이는 핵심 수익원입니다.
[주4] 후순위 층(Junior Tranche): 금융 분층 구조에서 후순위 층 투자자는 손실이 발생할 때 가장 먼저 손해를 보지만(상당히 "첫 번째 손실자"와 같습니다), 수익 분배 시 더 높은 위험 프리미엄 보상을 받을 수 있습니다. RLP는 Resolv 프로토콜의 후순위 층에 해당하며, USR은 우선 층에 해당합니다.
[주5] 110% 담보 비율 촉발선: 즉 USR의 전체 담보 자산 가치가 USR 총 유통량의 1.1배입니다. 이 선 이하로 떨어지면 RLP 상환이 중단되어 남은 자산이 USR 보유자에게 우선적으로 사용됩니다.
[주6] 플래시 론(Flash Loan): DeFi 특유의 무담보 대출 도구로, 동일 거래(동일 블록) 내에서 대출과 상환을 완료해야 합니다. 공격자는 이를 통해 일시적으로 대량의 자금을 확보하여 가격을 조작할 수 있으며, 거래 종료 전까지 상환하면 거의 자금 비용이 없습니다.
[주7] 죽음의 나선(Death Spiral): 디레버리징 과정에서의 자기 강화 붕괴입니다: 자산 가격 하락 → 청산 촉발 → 더 많은 자산 매각 → 가격 추가 하락 → 더 많은 청산 촉발, 이렇게 순환됩니다.
[주8] 무상 손실(Impermanent Loss): 자동 시장 조성자(AMM) 유동성 제공자가 직면하는 특유의 위험입니다. 풀 내 두 자산의 가격 비율이 초기 상태에서 벗어날 경우, LP의 자산 조합 가치는 두 자산을 직접 보유하는 가치보다 낮아지며, 이 차이가 무상 손실입니다.
[주9] D2 Finance / CoinTelegraph 분석, D2 Finance의 코멘트를 인용: "Either the oracle was gamed, the off-chain signer was compromised, or the amount validation between request and completion is simply missing." 동일 출처.
[주10] CoinTelegraph 보도에 따르면, USR은 Curve USR/USDC 풀에서 24시간 거래량이 360만 달러이며, 가격은 UTC 2:38에 2.5센트로 떨어졌습니다.
[주11] PeckShield 추정 데이터, CoinTelegraph 동일 출처 인용: "PeckShield estimated that the attacker was able to extract around $25 million from the attack amid USR's depeg."












