2026년 4월 18일, KelpDAO의 rsETH 크로스체인 브리지가 약 2억 9천만 달러 규모의 공격을 받아 올해 최대 DeFi 보안 사고로 기록되었습니다. 초기 귀속 분석은 암호화폐 인프라를 표적으로 삼은 전력이 문서로 잘 기록된 국가 지원 위협 행위자인 라자루스 그룹을 지목하고 있습니다 [1]. 이 공격은 스마트 컨트랙트 취약점을 악용한 것이 아니었습니다. 대신, 단일 탈중앙화 검증자 네트워크(DVN) 노드의 기반이 되는 RPC 인프라를 오염시켜, 소스 체인에서 대응하는 소각 없이 rsETH 토큰을 방출하는 위조 크로스체인 메시지를 생성했습니다.
익스플로잇 자체는 LayerZero [1]와 KelpDAO [2]에 의해 상세히 다루어졌습니다. 이 글은 다른 각도로 접근합니다. 공격을 재현하는 대신, 익스플로잇 이후 무슨 일이 일어났는지를 살펴봅니다. 즉, 단일 지점 인프라 의존성이 어떻게 5개 체인에 걸쳐 수십억 달러의 유동성을 동결시키는 연쇄 반응을 가능하게 했는지, 그리고 그 연쇄 반응이 어떻게 탈중앙화 거버넌스 프레임워크로 하여금 공개적으로 중앙화된 긴급 권한을 행사하게 만들었는지를 검토합니다.
KelpDAO 사고는 "탈중앙화" 스택의 세 가지 레이어를 통과하는 인과 사슬을 추적합니다. 단일 지점 DVN 의존성이 익스플로잇을 가능하게 했고, 프로토콜들이 마치 레고 블록처럼 서로 맞물릴 수 있게 해주는 DeFi의 조합성(컴포저빌리티, "DeFi 레고"라고도 알려진)이 그 브리지 익스플로잇을 시스템 전반의 유동성 위기로 전환시켰으며, 위기의 규모가 다시금 거버넌스 프레임워크로 하여금 내부에 내재된 중앙화된 긴급 권한을 완전히 공개적으로 드러내도록 강제했습니다.
배경: KelpDAO 익스플로잇 요약
KelpDAO는 여러 운영자에 걸친 스테이킹된 ETH 포지션을 나타내는 리퀴드 리스테이킹 토큰(LRT)인 rsETH의 발행자입니다. rsETH의 크로스체인 이동을 가능하게 하기 위해, KelpDAO는 크로스체인 메시지가 목적지 체인에서 실행되기 전에 합법적임을 확인하는 독립 검증자인 DVN에 의존하는 LayerZero의 메시징 프로토콜과 통합했습니다.
핵심 설정 선택: KelpDAO의 rsETH OApp은 LayerZero Labs가 운영하는 DVN을 유일한 검증자로 하는 1-of-1 DVN 설정을 사용했습니다. 이는 rsETH의 전체 크로스체인 보안이 단일 검증 엔티티에 의존했음을 의미합니다. LayerZero의 통합 문서는 명시적으로 중복성을 갖춘 멀티 DVN 설정을 권장하며, LayerZero는 사고 전에 KelpDAO에 이 모범 사례를 전달했다고 밝혔습니다 [1]. 반면 KelpDAO는 1/1 설정이 "LayerZero 문서에 명시된 설정이며 새로운 OFT 배포의 기본값으로 제공된 것"이라고 주장하며, "L2 확장 과정에서 기본값이 적절하다고 긍정적으로 확인되었다"고 말합니다 [2].
공격자들은 LayerZero Labs DVN이 사용하는 두 개의 RPC 노드를 침해하여, 해당 바이너리를 DVN의 IP 주소에만 위조된 체인 상태 데이터를 반환하는 악성 버전으로 교체했으며, LayerZero 자체 모니터링 인프라를 포함한 다른 모든 관찰자에게는 정상적으로 보이게 했습니다. 동시에 발생한 손상되지 않은 RPC 노드에 대한 DDoS 공격이 오염된 노드로의 장애 조치를 강제했습니다. 결과적으로: DVN은 소스 체인에서 실제로 발생하지 않은 크로스체인 메시지를 확인하여, 소스 체인에서 대응하는 소각 없이 이더리움 측 어댑터(0x85d4...8ef3)에서 116,500 rsETH를 방출했습니다 [1, 3]. 방출 트랜잭션은 0x1ae232...db4222입니다. 온체인 증거는 명확합니다. 이더리움 목적지 엔드포인트는 논스 308을 수락했지만, Unichain 소스 엔드포인트는 최대 아웃바운드 논스로 여전히 307을 보고합니다 [10].
KelpDAO는 이상 징후를 감지하고 46분 이내에 관련 컨트랙트를 모두 일시 정지했습니다. 이 개입은 추가로 40,000 rsETH(약 9,500만 달러)를 표적으로 한 후속 시도를 차단했습니다 [2]. 그러나 그 시점에 공격자는 이미 다음 단계로 넘어가 있었습니다. DeFi 대출 프로토콜을 통해 탈취한 rsETH를 차입 자산으로 전환하는 것이었습니다.
위조 토큰에서 차입 자산으로
공격자는 탈취한 rsETH를 단순히 매도하지 않았습니다. 116,500개의 토큰은 7개의 분기 지갑에 분산되어, 애그리게이터를 통한 ETH 직접 스왑, Compound V3 공급 포지션, Arbitrum으로의 재브리징 등 다양한 경로를 통해 현금화되었습니다 [10]. 그러나 가장 중요한 경로는 Aave를 통한 것이었습니다. 공격자는 89,567 rsETH(약 2억 2,100만 달러)를 두 체인에 걸친 Aave 대출 시장, 즉 이더리움 코어와 Arbitrum에 예치했습니다. 공격자는 상관관계가 있는 자산에 대해 더 높은 대출 가치 비율을 허용하는 자본 효율성 기능인 Aave의 E-Mode를 사용하여, 예치된 rsETH를 담보로 82,620 WETH와 821 wstETH를 차입했습니다 [3].
포지션은 최대한 레버리지되었습니다. 공격자의 7개 주소에 걸친 건전도 계수(Health Factor)는 청산 임계값보다 간신히 높은 1.01에서 1.03 사이였습니다 [3]. 이는 Aave의 rsETH E-Mode LTV가 93%로 설정되어 있고 청산 임계값이 95%여서, 안전 버퍼가 단 2퍼센트 포인트에 불과했기 때문에 가능했습니다.
두 시장에 걸친 주소별 분류:
| 시장 | 주소 | rsETH 공급량 | WETH 차입량 | wstETH 차입량 |
|---|---|---|---|---|
| 이더리움 코어 | 0x1f4c...adef |
53,000.00 ($134.71M) | 52,440.58 ($126.13M) | |
| 이더리움 코어 | 0x8d11...2d49 |
400.00 ($1.02M) | 393.92 ($0.95M) | |
| Arbitrum | 0xeba7...129b |
12,573.80 ($31.93M) | 12,381.93 ($29.45M) | |
| Arbitrum | 0xcbb2...55cc |
9,299.00 ($23.61M) | 4,307.87 ($10.25M) | 8.13 ($23.82K) |
| Arbitrum | 0x1b74...644c |
8,000.00 ($20.33M) | 7,877.92 ($18.95M) | |
| Arbitrum | 0xbb6a...c787 |
770.00 ($1.96M) | 758.25 ($1.80M) | |
| Arbitrum | 0x8d11...2d49 |
1,024.43 ($2.60M) | 28.68 ($0.07M) | 813.11 ($2,382.32K) |
| Arbitrum | 0xe9e2...d181 |
4,500.00 ($11.44M) | 4,431.33 ($10.66M) | |
| 합계 | 89,567.22 rsETH ($227.61M) | 82,620.49 WETH ($198.25M) | 821.24 wstETH ($2.41M) |
출처: 2026-04-22 16:51 UTC 기준 Etherscan, Arbiscan, DeBank에서 집계한 온체인 데이터. USD 가치는 각 트랜잭션 시점의 토큰 가격을 반영합니다.
Web3 최고의 보안 감사 기관
런칭 전 설계, 코드, 비즈니스 로직을 검증하세요
연쇄 반응: 브리지 익스플로잇이 어떻게 5개 체인의 WETH를 동결시켰나
아래 그림은 전체 연쇄 반응을 요약합니다. 1단계와 2단계(브리지 익스플로잇 및 Aave 담보 예치)는 위의 배경 섹션에서 다루었습니다. 이 섹션의 나머지 부분은 3단계부터 5단계까지를 자세히 살펴봅니다. WETH가 동결되어야 했던 이유, 연쇄 반응의 심각성을 형성한 파라미터, 그리고 동결이 실제로 초래한 비용입니다.
WETH가 동결되어야 했던 이유
4월 19일, Aave의 프로토콜 가디언은 Aave V3 및 V4 전반에 걸쳐 모든 rsETH 및 wrsETH 시장을 동결하여, rsETH 담보에 대한 신규 예치 및 차입을 방지했습니다 [8]. 이는 예상된 첫 번째 대응이었습니다.
예상치 못한 두 번째 조치는 4월 20일에 이루어졌습니다. Aave는 이더리움, Arbitrum, Base, Mantle, Linea에 걸쳐 WETH 준비금을 동결했습니다 [3, 8].
공격받지 않았고 크로스체인 브리지와 무관한 자산인 WETH를 왜 동결해야 했을까요? 공격자가 소스 체인 기반 없이 발행된 rsETH를 예치했기 때문입니다. Aave의 오라클은 이 토큰들을 정상적으로 브리징된 rsETH와 구별할 수 없는 합법적인 담보로 취급하며 시장 가치 그대로 계속 평가했습니다. 공격자는 이 정보 비대칭을 이용하여 시스템 수준에서 무담보 부채를 나타내는 담보를 제공하고 실제 WETH를 차입했습니다. 이로 인해 대출 풀에서 WETH가 유출되어 영향받은 시장 전반에 걸쳐 활용도가 100%까지 상승했습니다. 활용도가 최대에 달하면, 기존 WETH 예치자들은 출금할 수 없고 청산자들은 청산을 실행하는 데 필요한 기초 자산을 받을 수 없습니다. 프로토콜의 부실 채권에 대한 주요 방어선인 청산 메커니즘이 사실상 마비되었습니다 [3].
WETH 차입이 계속 허용되었다면, 다른 체인의 남은 풀 유동성도 동일한 메커니즘을 통해 유출될 수 있었습니다. rsETH를 예치하고, WETH를 차입하고, 떠나는 것입니다. WETH 동결은 선택 사항이 아니었습니다. 피해를 제한할 수 있는 유일한 방법이었습니다.
연쇄 반응의 심각성을 형성한 세 가지 파라미터
이 연쇄 반응의 심각성은 우연이 아니었습니다. 세 가지 프로토콜 파라미터가 직접적인 피해와 결과적인 동결 범위를 모두 결정했습니다.
1. LTV: 오염된 담보 단위당 얼마나 많은 건전한 자산을 추출할 수 있는가
Aave의 rsETH E-Mode LTV는 93%로, 예치된 오염된 rsETH 1달러당 0.93달러의 WETH를 차입할 수 있었습니다. 참고로, 같은 기간 Spark Protocol은 rsETH LTV를 72%로, Fluid는 약 75%로 설정했습니다 [3]. Aave의 파라미터가 시장에서 가장 공격적이었습니다.
이는 간과가 아닌 의도적인 설계 결정이었습니다. 2026년 1월, Aave 거버넌스는 rsETH의 E-Mode LTV를 92.5%에서 93%로 높여, 이미 얇았던 안전 버퍼를 2.5%에서 2%로 더욱 압축했습니다 [3]. 기본(비 E-Mode) LTV는 의도적으로 0에 가깝게(0.05%) 설정되어, 실질적으로 모든 의미 있는 rsETH 차입이 높은 LTV의 E-Mode 경로를 통하도록 강제했습니다.
2. 풀 깊이: 각 시장이 유동성 고갈에 얼마나 취약한가
동일한 금액의 차입도 표적 풀의 깊이에 따라 전혀 다른 영향을 미칩니다.
| 체인 | 시장 | WETH 준비금 (공격 전) | 공격자 차입량 | 직접 유출 비율 |
|---|---|---|---|---|
| 이더리움 | V3 코어 | $5.98B | 52,834.50 WETH (~$127M) | ~2.1% |
| Arbitrum | V3 | $331M | 29,785.98 WETH (~$71M) | ~21.5% |
| Mantle | V3 | $109M | 해당 없음 | 공격자 활동 없음; 예방적으로 WETH 동결 |
| Base | V3 | $204M | 해당 없음 | 공격자 활동 없음; 예방적으로 WETH 동결 |
| Linea | V3 | $33M | 해당 없음 | 공격자 활동 없음; 예방적으로 WETH 동결 |
공격자는 Aave V3 시장에만 rsETH를 예치했습니다. Aave V4(이더리움 전용, 2026-03-30 출시)도 예방적 rsETH 동결 대상이었으나 [8] 이 표에는 반영되지 않았습니다. WETH 준비금 데이터는 LlamaRisk [3]에서 가져왔으며, 공격자 차입량은 위의 주소별 분류에서 도출되었습니다.
공격자는 이더리움 코어와 Arbitrum에 집중했습니다. 그러나 핵심적인 관찰은 공격자가 한 번도 접근하지 않은 체인에서 무슨 일이 일어났는가입니다. rsETH가 Mantle, Base, Linea에서 담보로 허용되었기 때문에, 해당 체인의 기존 rsETH 담보 포지션은 브리지 기반이 침해되는 순간 잠재적 부실 채권 위험을 내포하게 되었습니다. Aave가 5개 체인 전반에 걸쳐 예방적으로 WETH를 동결하기로 한 결정은 합리적인 대응이었습니다. 이 시장들을 열어두면 공격자가 이더리움과 Arbitrum에서 이미 시연한 것과 동일한 유출 메커니즘에 노출될 수 있었기 때문입니다 [3, 8].
3. 크로스체인 배포 수: 동결이 얼마나 멀리 전파되는가
rsETH는 23개의 Aave V3 시장 중 11개에서 담보로 등재되었으며, 7개 시장에서 의미 있는 노출을 보였습니다 [3]. 공격자는 단 2개의 체인에서만 활동했습니다. 그러나 예방적 WETH 동결은 공격자가 단 한 개의 토큰도 예치하지 않은 시장을 포함하여 최소 5개 체인에 영향을 미쳤습니다. LTV는 체인당 추출 금액을 결정하고, 풀 깊이는 각 시장이 얼마나 심각하게 압박받는지를 결정합니다. 그러나 동결이 얼마나 멀리 전파되는지를 궁극적으로 결정한 것은 rsETH가 담보로 허용된 체인의 수였습니다.
이 파라미터들은 고정된 것이 아닙니다. 익스플로잇 9일 전인 4월 9일, Aave의 리스크 스튜어드는 rsETH 공급 한도를 높였습니다. 이더리움 코어는 480,000에서 530,000으로, Mantle은 52,000에서 70,000으로 올라갔습니다 [3]. 이것이 인과관계를 의미하지는 않지만(공격자의 준비 타임라인은 이러한 변경 이전으로 거슬러 올라갈 가능성이 높습니다), 일상적인 파라미터 조정이 미래 사고의 피해 반경을 의도치 않게 넓힐 수 있음을 강조합니다.
동결의 실제 영향
결과: 2억 9천만 달러 규모의 브리지 익스플로잇이 5개 체인에 걸친 WETH 유동성 동결로 이어졌으며, 합산 준비금이 67억 달러를 초과하는 시장에 영향을 미쳤습니다.
직접적인 손실은 공격자의 차입에만 국한되었습니다. 그러나 DeFi 대출에서 동결은 사소한 운영상의 불편이 아닙니다. 사용자 유동성을 잠그고, 출금을 방지하며, 활성 포지션을 방해하고, 프로토콜을 부실 채권으로부터 보호하는 청산 메커니즘을 손상시킵니다. 영향받은 사용자의 대다수는 rsETH, KelpDAO, 또는 크로스체인 브리지와 한 번도 상호작용한 적이 없었습니다. 그들은 Aave의 WETH 예치자와 차입자였으며, 자신들이 참여하는 것이 단순한 대출 시장이라고 합리적으로 이해하고 있었습니다.
WETH는 DeFi에서 가장 기본적인 유동성 자산입니다. 이를 동결하는 것은 대부분의 예금자가 들어본 적도 없는 상품을 사용하는 다른 금융 기관이 사기를 당했다는 이유로 마을에서 가장 큰 은행의 출금을 중단하는 것과 같습니다.
LlamaRisk의 사고 보고서 [3]는 체인별 손실 예상치를 포함한 두 가지 부실 채권 시나리오를 모델링하여, 가장 상세한 위험 전파 분석을 제공했습니다. 그러나 이 분석조차 잠재적 부실 채권에 초점을 맞추었을 뿐, 영향받은 모든 시장에서 잠긴 출금, 방해받은 포지션, 손상된 청산 능력 등 동결 자체의 더 넓은 운영 비용은 다루지 않았습니다. 총 연쇄 영향의 포괄적인 정량화는 여전히 미해결 문제로 남아 있습니다.
공격 연쇄 반응이 복잡했다면, 복구도 결코 단순하지 않았습니다. 조합성은 피해를 가능하게 하는 것처럼 복구도 제약합니다. Aave는 단순히 "모든 것을 해제"할 수 없었습니다. 각 시장은 현지 rsETH 노출, WETH 활용 수준, 공격자 활동에 따라 다른 위험 프로필로 독립적으로 평가되어야 했습니다. 타임라인이 이를 말해줍니다:
- 4월 19일: 프로토콜 가디언이 Aave V3 및 V4 전반에 걸쳐 모든
rsETH및wrsETH준비금을 동결했습니다 [8]. - 4월 20일: 이더리움, Arbitrum, Base, Mantle, Linea에 걸쳐
WETH가 동결되었습니다 [3, 8]. - 4월 21일: 이더리움 코어 V3에서만
WETH동결이 해제되었으며, 예방 조치로 LTV는 0으로 유지되었습니다. 이더리움 프라임, Arbitrum, Base, Mantle, Linea의WETH는 동결 상태를 유지했습니다 [8].
익스플로잇 발생 4일 후, 영향받은 6개 시장 중 5개가 여전히 동결 상태입니다. 복구 경로는 공격 경로의 복잡성을 반영합니다. 프로토콜별, 체인별로, 각 단계마다 거버넌스 조정과 위험 평가가 필요합니다.
대응: Arbitrum이 보유자의 서명 없이 30,766 ETH를 이동시킨 방법
Aave가 대출 연쇄 반응을 관리하는 동안, Arbitrum에서는 병렬적인 대응이 전개되고 있었습니다. 4월 21일, Arbitrum 보안 위원회는 Arbitrum One에서 공격자가 보유한 30,766 ETH를 동결하는 긴급 조치를 취했다고 발표했습니다 [6]. 자금은 이후 Arbitrum 거버넌스 조치를 통해서만 접근 가능한 중간 동결 주소(0x...0DA0)로 이전되었습니다 [7].
거버넌스 조치
Arbitrum 보안 위원회는 외부 행위자나 임시 위원회가 아닌 Arbitrum DAO 거버넌스 구조의 공식 구성 요소입니다. 긴급 조치는 Arbitrum 거버넌스 포럼을 통해 공개적으로 발표되었으며 [7], 공격자의 신원에 관한 법 집행 기관의 입력을 받아 실행되었고, 전체 트랜잭션 세부 정보가 문서화되었습니다. 보안 위원회는 "Arbitrum 사용자나 애플리케이션에 영향을 미치지 않으면서 Arbitrum 커뮤니티의 보안과 무결성에 대한 의지"를 고려하여 확립된 권한 내에서 행동했습니다 [6].
이것은 밀실 결정이 아니었습니다. 누구나 온체인 증거를 통해 검증할 수 있도록 투명하게 실행된 거버넌스 승인 긴급 조치였습니다.
기술적 메커니즘
이 조치에서 주목할 만한 것은 거버넌스 결정이 아니라, 온체인에서 어떻게 실행되었는가입니다. BlockSec의 Phalcon 트레이스 분석 [9]에 따르면, 보안 위원회는 원자적 3단계 접근 방식을 사용했습니다:
-
업그레이드 실행자(Upgrade Executor)가 이더리움 인박스 컨트랙트(
DelayedInbox)를 임시로 업그레이드하여,sendUnsignedTransactionOverride라는 새로운 함수를 추가했습니다. -
이 함수를 사용하여 공격자의 주소를 사칭하는 크로스체인 메시지를 생성했습니다. 메시지는 Arbitrum의 Nitro 스택에서
L1MessageType_L2Message에 매핑되는kind=3으로Bridge.enqueueDelayedMessage를 통해 주입되었습니다. 이 메시지 유형은 L2에서L2MessageKind_UnsignedUserTx실행을 허용합니다. 중요한 것은, 이 경로에는 서명 확인이 필요하지 않다는 점입니다. 발신자 파라미터는 표준msg.sender경로에서 호출자가 제어하는 입력으로 전환되었으며, L1→L2 주소 앨리어싱을 통해 변환되어 공격자의 주소 컨텍스트를 전달합니다. -
L2에서 이전이 실행된 후, 인박스 컨트랙트는 원래 구현으로 복원되었습니다.
L1 트랜잭션 [4]과 결과적인 L2 트랜잭션 [5]은 모두 Phalcon Explorer에서 공개적으로 확인할 수 있습니다. L2 트랜잭션에서 "공격자에서 0x...0DA0으로"로 표시되는 것은 표준 사용자 서명 이전이 아닙니다. 이는 체인 수준의 강제 상태 전환으로, 소유자의 개인 키 없이 거버넌스 수준의 인프라 업그레이드 권한을 통해 실행된 자산 이전입니다.
딜레마
원칙적으로 메커니즘은 간단합니다. 업그레이드 가능한 컨트랙트는 무제한적인 능력을 부여합니다. 컨트랙트를 업그레이드할 수 있다면, 보유자의 서명 없이 자산을 이전하는 것을 포함하여 무엇이든 할 수 있도록 동작을 변경할 수 있습니다. 이 능력은 업그레이드 가능한 컨트랙트로 구축된 모든 시스템에 내재되어 있습니다. 30,766 ETH는 현재 동결된 주소에 있습니다. 이후의 Arbitrum 거버넌스 투표만이 그 처분을 결정할 수 있습니다. 원자적 업그레이드-실행-복원 패턴은 인박스 컨트랙트에 영구적인 변경을 남기지 않았으며, 다른 사용자나 애플리케이션은 영향받지 않았습니다 [6].
Arbitrum 보안 위원회의 조치는 대부분의 합리적인 평가에 따르면 올바른 결정이었습니다. 공격자는 국가 지원 행위자로 확인되었습니다. 법 집행 기관이 개입했습니다. 거버넌스 프로세스는 공개적이었습니다. 그리고 7,100만 달러의 탈취 자산이 회수되었거나, 최소한 추가 세탁이 방지되었습니다.
그러나 이를 가능하게 한 능력은 이 특정 사례를 넘어 확장됩니다. 동일한 업그레이드-실행-복원 메커니즘은 원칙적으로 Arbitrum One의 모든 주소가 보유한 모든 자산을 이동시키는 데 사용될 수 있습니다. 보안 위원회의 권한은 공격자 주소나 탈취 자금에만 국한되지 않습니다. 코드가 아닌 거버넌스 규범에 의해 제약받는 범용적인 능력입니다.
이것이 딜레마입니다. 사용자들은 L2와 상호작용할 때 암묵적인 정신적 모델을 갖고 있습니다. "내 자산은 내 개인 키로 통제되며, 내 서명 없이는 아무도 이동시킬 수 없다." KelpDAO 대응은 이 모델이 불완전함을 보여줍니다. Arbitrum에서, 그리고 업그레이드 가능한 브리지 컨트랙트와 보안 위원회가 있는 모든 L2에서, 자산은 서명 확인을 완전히 우회하는 거버넌스 수준의 조치를 통해 이동될 수 있습니다.
Arbitrum이 이런 점에서 특별하지는 않습니다. Aave의 시장 동결도 거버넌스 주도의 긴급 조치입니다. KelpDAO 사고 동안, 여러 프로토콜이 동시에 중앙화된 긴급 권한을 행사했습니다. Aave는 5개 체인에 걸쳐 시장을 동결하고, Arbitrum 보안 위원회는 강제 이전을 실행하고, KelpDAO는 컨트랙트를 전역적으로 일시 정지했습니다. "탈중앙화" 생태계의 위기 대응은 실제로는 중앙화된 권한의 조율된 행사였습니다.
문제는 긴급 권한이 존재해야 하는지가 아닙니다. KelpDAO 사례는 그래야 한다는 강력한 논거를 제시합니다. 문제는 이러한 권한의 경계, 발동 조건, 책임 메커니즘이 충분히 투명한지입니다. L2에 자산을 예치하는 사용자들은 기본적인 질문에 답할 수 있어야 합니다. 어떤 상황에서 보안 위원회가 내 자금을 이동시킬 수 있으며, 나는 어떤 구제 수단을 갖고 있는가?
탈취 자금의 현황
독립적인 온체인 추적(MetaSleuth [11]의 전체 시각화)은 공격자가 116,500 rsETH를 7개의 첫 번째 홉 주소에 분산시키고, 대부분을 Aave(이더리움 코어 및 Arbitrum)에 담보로 공급하여 WETH와 wstETH를 차입하고, 수익을 두 체인의 공유 주소 0x5d39...7ccc(이더리움 / Arbitrum)로 통합했음을 보여줍니다. 2026-04-22 05:42 UTC 기준으로, 탈취 자금은 네 가지 뚜렷한 상태에 있습니다:
| 상태 | 금액 | 위치 | 세부 정보 |
|---|---|---|---|
| 동결됨 | 30,765.67 ETH | Arbitrum의 0x0000...0da0 |
2026-04-21 03:35:08 UTC에 Arbitrum 보안 위원회에 의해 서명 없이 sendUnsignedTransactionOverride 거버넌스 업그레이드를 통해 강제 이전됨 |
| 브리지 차단됨 | 3,575.57 rsETH |
Arbitrum의 LZMultiCall 0x8e60...286e |
2026-04-18 18:30:31 UTC에 크로스체인 이전 시도 실패 |
| 미사용 | 25,701.76 ETH | 이더리움의 0xd4b8...1530 |
2026-04-21 11:16 UTC에 수신 후 미사용 |
| 분산 중 또는 분산됨 | ~50,000 ETH | 이더리움의 0xf980...0b85 및 0x62c7...c64e, 103개의 고유한 첫 번째 홉 주소로 분산 |
0xf980...0b85는 2026-04-21 08:05~20:21 UTC 사이에 약 25,000 ETH를 분산시킨 후, 마지막 8.989 ETH를 0x62c7...c64e로 직접 스윕함; 0x62c7...c64e는 20:13 UTC에 자체 분산을 시작하여 2026-04-22 05:41 UTC까지 여전히 활성 상태였음 |
수익의 약 31%는 동결되거나 차단되었고, 23%는 이더리움의 단일 휴면 주소에 그대로 남아 있으며, 46%는 103개의 첫 번째 홉 주소에 분산되었거나 현재 분산 중입니다. Aave 담보로 예치된 rsETH는 여전히 예치 상태이며, 차입된 WETH와 wstETH는 상환되지 않았습니다. 공격자는 대출 포지션을 포기했습니다.
결론
KelpDAO 사고는 "탈중앙화" 스택의 세 가지 레이어를 통과하는 인과 사슬을 추적합니다.
단일 지점 의존성에서 시작되었습니다. KelpDAO의 1-of-1 DVN 설정은 크로스체인 검증을 단일 엔티티로 축소시켜, 하나의 침해된 인프라 구성 요소를 통해 전체 브리지를 공격 가능하게 만들었습니다. 아키텍처는 탈중앙화를 지원했지만, 설정은 그렇지 않았습니다.
그런 다음 조합성이 브리지 익스플로잇을 시스템 전반의 유동성 위기로 전환시켰습니다. 단 하나의 공격이 5개 체인에 걸쳐 DeFi의 가장 기본적인 자산인 WETH를 동결시켜, rsETH나 KelpDAO와 아무런 관련이 없는 사용자들이 보유한 수십억 달러의 유동성에 영향을 미쳤습니다. 연쇄 반응의 범위는 공격적인 LTV 설정, 얕은 유동성 풀, 광범위한 크로스체인 담보 배포라는 측정 가능한 파라미터에 의해 결정되었습니다.
위기의 규모는 차례로 탈중앙화 거버넌스가 중앙화된 긴급 권한을 행사하도록 강제했습니다. Arbitrum의 보안 위원회는 거버넌스 승인 원자적 컨트랙트 업그레이드를 통해 보유자의 서명 없이 30,766 ETH를 이동시켰습니다. Aave는 거버넌스 주도의 긴급 조치를 통해 여러 체인에 걸쳐 시장을 동결했습니다. 대응은 효과적이었고, 투명했으며, 필요했다고 볼 수 있었습니다. 또한 "무허가"에는 실질적인 경계가 있음을 보여준 것이기도 했습니다.
단일 지점 의존성이 익스플로잇을 가능하게 했고, 조합성이 피해를 증폭시켰으며, 피해는 항상 존재했던, 업그레이드 가능한 컨트랙트와 거버넌스 프레임워크에 내재된 중앙화된 권한을 드러냈습니다. 이러한 연결된 역학을 해결하려면 모든 참여자의 행동이 필요합니다:
프로토콜의 경우: 프로토콜의 전반적인 보안은 이 사례에서 스마트 컨트랙트가 아닌 DVN 인프라였던 가장 약한 고리에 의해 결정됩니다 [10]. 효과적인 보안은 코드 보안, 인프라 보안, 키 관리, 운영 보안을 포함한 여러 차원에 걸쳐 체계적인 커버리지를 필요로 합니다. 종합적인 평가와 침투 테스트는 개별 구성 요소가 아닌 전체 스택을 스트레스 테스트해야 합니다. 온체인 모니터링은 몇 시간이 아닌 몇 분 내에 긴급 대응을 가능하게 하며, 빠른 크로스체인 자금 추적은 자산 동결 조정과 회수 극대화에 필수적입니다. 특히 대출 프로토콜의 경우, 크로스체인 합성 자산의 담보는 위에서 논의한 세 가지 파라미터인 LTV, 풀 깊이, 크로스체인 배포 수에 걸쳐 "총 담보 침해" 시나리오에 대해 스트레스 테스트를 받아야 합니다.
L2 거버넌스 및 DAO의 경우: 긴급 권한은 투명하고 책임감 있어야 합니다. 대부분의 주요 L2는 이미 이러한 능력을 갖추고 있지만, 종종 사용자 대면 자료보다는 기술 문서에 묻혀 있습니다. 거버넌스 프레임워크는 발동 조건, 범위 제한, 시간 제약, 사후 책임 요건을 성문화해야 합니다.
사용자의 경우: DeFi 조합성에 내재된 시스템적 위험을 이해하십시오. 이번 사고에서, rsETH를 한 번도 건드린 적 없는 WETH 예치자들이 5개 체인에 걸쳐 유동성이 동결되는 상황을 겪었습니다. 개인 포지션 위험은 그림의 일부일 뿐입니다. 자산이 상호작용하는 프로토콜, 풀, 담보 유형, 체인 모두가 상호 연결된 위험 표면을 형성합니다.
참고 문헌
[1] LayerZero Core, "KelpDAO 사고 성명": https://x.com/LayerZero_Core/status/2046081551574983137
[2] KelpDAO, "4월 18일 사고: 추가 맥락": https://x.com/KelpDAO/status/2046332070277091807
[3] LlamaRisk, "rsETH 사고 보고서" (2026년 4월 20일): https://governance.aave.com/t/rseth-incident-report-april-20-2026/24580
[4] BlockSec Phalcon Explorer, L1 트랜잭션 (Arbitrum 보안 위원회 조치): https://app.blocksec.com/phalcon/explorer/tx/eth/0x079984c56c5670108f5c6f664904178f9b364340351949a42e4637d1f645f770
[5] BlockSec Phalcon Explorer, L2 트랜잭션 (Arbitrum 강제 이전): https://app.blocksec.com/phalcon/explorer/tx/arbitrum/0x5618044241dade84af6c41b7d84496dc9823700f98b79751e257608dac570f6b
[6] Arbitrum, "보안 위원회 긴급 조치": https://x.com/arbitrum/status/2046435443680346189
[7] Arbitrum 거버넌스 포럼, "보안 위원회 긴급 조치 21/04/2026": https://forum.arbitrum.foundation/t/security-council-emergency-action-21-04-2026/30803
[8] Aave, rsETH 사고 업데이트 (2026년 4월 19~21일): https://x.com/aave/status/2045593585966252377
[9] BlockSec Phalcon, "Arbitrum 보안 위원회 동결 분석": https://x.com/Phalcon_xyz/status/2046467830498173088
[10] banteg, "Kelp rsETH Unichain → 이더리움 경로 조사": https://gist.github.com/banteg/705d0284513b74ad20f61d90f5b5de62
[11] MetaSleuth, KelpDAO 익스플로잇 추적: https://metasleuth.io/result/eth/0x1ae232da212c45f35c1525f851e4c41d529bf18af862d9ce9fd40bf709db4222?source=600c61cd-f0cd-4dff-8687-14e02f6ccd24



