Term Finance의 850만 달러 규모 Vault에 무슨 일이 있었나?
공격자는 Term Finance의 코드를 뚫지 않았다. 그들은 투표로 안으로 들어갔고, 프로토콜이 완전히 유효하다고 본 트랜잭션을 이용해 예치자 자산 약 850만 달러를 가져갔다.
Term Finance는 Term Labs가 만든 이더리움 고정금리 대출 프로토콜이며, 2026년 8월 23일 Term Strategy Vaults는 코드 익스플로잇이 아니라 거버넌스 공격으로 약 850만 달러를 잃었다 . 공격자는 Vault 투표권의 지배적 지분을 확보한 뒤, 일반적인 거버넌스 조치를 이용해 자산을 밖으로 옮겼다. PeckShield와 CertiK 모두 독립적으로 약 850만 달러라는 같은 수치와 같은 분류에 도달했다. 컨트랙트 버그가 아니라 거버넌스 익스플로잇이라는 것이다 .
핵심 요약: 2026년 8월 23일, 공격자는 지배적 거버넌스 권한을 확보해 Term Finance의 Strategy Vaults에서 약 850만 달러를 빼냈다. 스마트 컨트랙트가 해킹된 것은 아니었다. PeckShield는 익스플로잇 지갑의 초기 자금이 Tornado Cash에서 출금된 단 2 ETH였다고 추적했다.
자금 유출은 CryptoTimes에 따르면 블록 25816049, UTC 06:25에 발생했다. 이 매체는 0xd354a15b1… 및 0x9f273f9a5…로 시작하는 트랜잭션 해시와 0xa908… 및 0x6864…로 시작하는 공격자 지갑도 함께 인용했다 .
PeckShield의 온체인 회계 내역, 이후 보도들이 모두 따른 그 손실 구분은 두 가지로 나뉜다:
| 자산 | 수량 | 대략적 가치 | 유출 후 처리 |
|---|---|---|---|
| ETH | 약 2,843 ETH | 약 687만 달러 | 0xD5183d8BfC65a50863C62aF2538198A8288FFc13에 통합 |
| USDC | 168만 USDC | 약 168만 달러 | 거의 즉시 약 168만 DAI로 스왑 |
CertiK도 경보 당시 같은 통합 주소에 약 2,843 ETH와 약 160만 달러 상당의 DAI가 보관돼 있다고 표시했다 . PeckShield는 별도로 익스플로잇 지갑의 초기 자금이 Tornado Cash에서 출금된 2 ETH였다고 추적했다 . 이는 자금 흐름의 단서일 뿐, 특정 행위자에 대한 귀속은 아니다. 또한 2 ETH 수치에는 공격자가 애초에 투표권을 확보하는 데 쓴 비용은 포함되지 않는다.
중요한 이유: Timelock은 있었지만 아무도 거부권을 쓰지 않았다
이 유출을 막았어야 할 통제 장치는 존재했고 문서화되어 있었다. Term의 개발자 자료는 Vault 거버넌스를 GOVERNOR_ROLE로 설명하며, 이 역할은 일시정지 제어, 거버너 이전, Term 컨트롤러 업데이트, 오라클 및 할인율 어댑터 업데이트, 그리고 필수 준비금 비율, repo-token 집중 한도, 담보 토큰 설정, 블랙리스트 항목 등 리스크 파라미터에 대한 권한을 가진다 . 이 역할은 Gnosis Safe와 Zodiac Delay Module 뒤에 놓여 있다.
문서화된 보호 구조는 세 겹이었고, 실패한 것은 세 번째였다:
- 7일 timelock — 대기열에 오른 거버너 트랜잭션은 실행 전 Zodiac Delay Module을 거쳐 기다린다 .
- Proposer safe — 별도의 Gnosis Safe가 트랜잭션을 직접 실행하지 않고 대기열에 올린다 .
- LP 투표자 거부권 — Vault LP 토큰 보유자는
setTxNonce를 통해 대기 중인 트랜잭션을 무효화할 수 있다 .
2차 보도에 따르면 제안은 8월 17일 제출됐고 약 6일 뒤 실행됐다 . 지연 창구는 설계대로 작동했다. 아무도 그것을 쓰지 않았을 뿐이다. 프로토콜 업그레이드 가능성을 담당하는 별도의 DEVOPS_ROLE은 소유자 없는 Safe와 24시간 Zodiac timelock을 갖고 있다 . 하지만 이번 경로는 그 계층이 아니었다.
거부권 역시 그것을 행사할 만큼 충분한 토큰을 가진 주체가 있다는 전제 위에 있다. 보도에 따르면 공격자는 제안이 제출되기 전, 영향을 받은 다섯 개 Vault 중 네 곳에서 거버넌스 권한 100%를, Ethereum Meta Vault에서는 약 91%를 이미 축적한 상태였다 . 그런 집중도에서는 검토 기간이 형식에 가깝다. 이의를 제기할 자격이 있는 유일한 당사자가 바로 제안한 당사자이기 때문이다.
Term Vaults의 기반인 Yearn v3 문서는 Vault governance 주소가 “완전히 신뢰할 수 있는 주소”여야 한다고 명확히 말한다. 보통 multisig나 timelock 컨트랙트가 여기에 해당하며, 이 주소는 전략을 추가 및 취소할 수 있고 DEBT_PURCHASER와 강제 취소 같은 민감한 권한을 가질 수 있기 때문이다 . Term은 그 구조적 기준은 충족했다. 풀지 못한 문제는 대기열을 누가 감시하느냐였다.
현재까지 Term Labs의 유일한 공개 입장은 사건 몇 시간 안에 X에 올라온 글이며, 전문은 다음과 같다. “Term vaults에 영향을 미친 거버넌스 익스플로잇을 인지하고 있습니다. 추가 조사가 이뤄진 뒤 더 자세한 내용을 공유하겠습니다” . 이후 기술적 사후 분석도, 어떤 거버넌스 함수가 호출됐는지에 대한 공개도, 영향을 받은 컨트랙트 목록도 나오지 않았다 . 그것이 공개되기 전까지 거버넌스 메커니즘에 대한 설명은 잠정적이다. 자산 이동 사실은 그렇지 않다.
공격자는 어떻게 통제권을 장악했나
보고된 경로는 축적 후 실행이었다. 공격자는 볼트 LP 투표 토큰을 계속 모아 지배적인 지분을 확보한 뒤, 볼트 자산을 다른 곳으로 보내는 제안을 제출했고, 자신이 보유한 표로 그 제안을 통과시켰다. 보도에 따르면 영향을 받은 볼트 5개 중 4개에서 거버넌스 권한 100%를 확보했고, Ethereum Meta Vault에서는 약 91%를 확보했다 . Term Labs는 해당 제안, 호출된 함수, 영향을 받은 볼트 목록을 확인해 주지 않았다 .
확실한 증거가 있는 부분은 자산이 어디로 이동했는지다. CertiK는 통합 주소 0xD5183d8BfC65a50863C62aF2538198A8288FFc13을 지목했으며, 경보 당시 이 주소에는 약 2,843 ETH와 약 160만 달러 상당의 DAI가 있었다 . CryptoTimes는 유출 시점을 UTC 06:25, 블록 25816049로 제시했고, 공격자 지갑은 0xa908… 및 0x6864…로 시작한다고 보도했다 .
Ethereum에서 재무제표상 영향은 거의 전액 손실에 가까웠다.
- 이전: BeInCrypto가 인용한 DefiLlama 데이터에 따르면 Term 볼트 TVL은 약 1,220만 달러였고, 이 중 약 860만 달러가 Ethereum에 있었다 .
- 이후: 이후 DefiLlama 스냅샷에서는 TermFinance Vaults 총액이 714만 달러로 표시됐고, Ethereum은 710,731달러까지 줄었으며 나머지는 Plasma, BSC, Avalanche에 분산돼 있었다 .
- 주의: 이 수치들은 시점이 서로 다른 자료이며, 조정된 전후 장부가 아니다. 회계 수치가 아니라 규모를 보여주는 자료로 봐야 한다.
탐지는 프로토콜 외부에서 이루어졌다. Decurity의 온체인 모니터링 봇 Defimon이 먼저 유출을 포착했고, PeckShield와 CertiK가 몇 시간 안에 독립적으로 확인했으며, 양쪽 모두 약 850만 달러라는 같은 규모의 추정치에 도달했다 . 모니터링 계층은 작동했다. 며칠 동안 대응할 시간이 있었던 거버넌스 계층은 작동하지 않았다.
앞으로 확인해야 할 것
가장 중요한 미확인 사항은 Term Labs가 다음에 무엇을 공개하느냐다. 최신 보도 기준으로 기술적 사후 분석은 없고, 어떤 거버넌스 함수가 호출됐는지 공개되지 않았으며, 영향을 받은 계약 목록도 확인되지 않았고, 보상 절차도 발표되지 않았다 . 현재 유통되는 모든 손실액은 여전히 외부 보안 업체의 추정치다.
이 침묵은 Term의 이전 사고와 대비된다. 2025년 손실은 오라클 설정 오류에서 비롯됐고 악의적인 사건은 아니었으며, 결국 예치자들은 전액 보전받았다 . 이번에는 회복 가능성이 더 낮다. 되돌릴 버그가 있는 것이 아니며, 이체는 투표권을 보유한 주체가 실행한 유효한 거버넌스 행위였기 때문이다.
앞으로 몇 주 동안 추적할 만한 구체적 지표는 다음과 같다.
- 제안 ID와 함수 호출이 포함된 사후 분석. 이것이 없으면 공격 경로는 확정된 사실이 아니라 2차 보도에 머문다.
- 영향을 받지 않은 볼트가 중단됐는지 여부 그리고 Plasma, BSC, Avalanche에 남은 잔액에 보호 조치가 적용되는지 여부 .
- 거버넌스 재설계 여부. 수동적인 LP들이 집중된 투표권으로부터 공동 자금을 직접 방어해야 하는 구조를 막을 수 있는 변화인지가 핵심이다.
- 섹터 전반의 발생 속도. DefiLlama는 2026년 거버넌스 공격을 5건, 합산 피해액을 약 2,510만 달러로 집계한다. 그중 가장 큰 사례는 2026년 7월 6일 BonkDAO의 2,000만 달러 규모 재무부 유출로, 공격자와 연결된 지갑들이 행사된 표의 약 99.878%를 통제했다 .
8월 누적치는 이 패턴의 규모를 보여준다. Term의 손실로 8월 피해액은 18건의 사고에 걸쳐 2,700만 달러를 넘어섰고, 2026년 누적 DeFi 손실은 182건에서 11억 달러를 웃돈다 . 거버넌스 공격은 금액 기준으로는 여전히 작은 비중이지만, 발생 빈도 기준으로는 커지고 있다.
예치자에게 남는 실질적 교훈은 이렇다. 볼트에 자본을 넣기 전에, 누가 단독으로 제안을 통과시킬 수 있는지, 그리고 실제로 누가 제안 대기열을 감시하고 있는지 확인해야 한다. 감사는 코드를 점검한다. 아무도 반대하러 나타나지 않는 투표까지 보장하지는 않는다.
최종 업데이트: 2026-08-24. 수치는 발행 시점에 확인 가능한 보안 업체 추정치를 반영한다. Term Labs는 공식 사후 분석을 공개하지 않은 상태였다.
자주 묻는 질문
Term Finance의 스마트 계약 코드가 해킹된 건가요?
아닙니다. PeckShield와 CertiK는 모두 2026년 8월 23일 사건을 검토한 뒤, 이를 코드 익스플로잇이 아니라 거버넌스 익스플로잇으로 분류했으며 계약 버그는 없었다고 봤습니다 . 공격자는 볼트 투표권의 지배적 지분을 확보한 뒤, 일반적이고 유효한 거버넌스 절차를 이용해 Term Strategy Vaults에 있던 예치자 자산 약 850만 달러를 빼냈습니다 . 볼트를 비운 모든 트랜잭션은 프로토콜이 거버너로 인식한 주소가 실행한 허용된 호출이었습니다.
공격자는 실제로 얼마를 들여 이 일을 벌였나요?
공개된 금액은 작지만, 전체 그림은 아닙니다. PeckShield는 익스플로이터 지갑의 초기 자금이 Tornado Cash에서 인출된 2 ETH에서 왔다고 추적했습니다. 이는 자금 경로일 뿐, 특정 주체를 지목하는 증거는 아닙니다 . 그 2 ETH는 지갑 설정과 가스비만 충당했습니다. 공격자가 볼트 LP 투표 토큰을 별도로 확보하는 데 쓴 비용은 여기에 포함되지 않으며, 그 비용은 Term Labs도 보안 업체들도 공개하지 않았습니다 . 따라서 널리 인용되는 “2 ETH로 850만 달러”라는 표현은 공격 비용의 하한선일 뿐, 공격의 전체 경제성을 보여주지는 않습니다.
Term Finance에는 이런 일을 막기 위한 타임락이 없었나요?
있었습니다. 그리고 타임락은 설계대로 작동했습니다. 다만 그 뒤에 아무것도 없었을 뿐입니다. Term의 개발자 문서에 따르면 볼트 거버넌스는 GOVERNOR_ROLE을 통해 운영되며, 이는 Gnosis Safe와 7일 타임락이 걸린 Zodiac Delay Module, 제안자 세이프, 그리고 setTxNonce를 통해 대기 중인 트랜잭션을 무효화할 수 있는 LP 투표자 거부권으로 보호됩니다 . 2차 보도에 따르면 8월 17일 제출된 제안은 약 6일 뒤 실행됐습니다 . 지연 기간은 공개적으로 끝까지 진행됐습니다. 아무도 거부권을 행사하지 않았고, 대기 중이던 작업은 예정대로 실행됐습니다.
예치자들은 Term의 2025년 사건 때처럼 보상받을 수 있나요?
확인되지 않았으며, 두 사건은 비교하기 어렵습니다. Term의 2025년 손실은 오라클 설정 오류에서 비롯됐고, 악의적 사건이 아니었으며, 결국 예치자들에게 보상이 이뤄졌습니다 . 이번에는 되돌릴 버그도, 정산을 취소할 상대방의 실수도 없습니다. 이체는 정당한 투표권을 보유한 지갑이 실행한 유효한 거버넌스 조치였습니다. 최신 보도 기준으로 Term Labs는 X에 단 한 차례 인정하는 글을 올린 것 외에는 기술 사후 분석, 영향을 받은 계약 목록, 복구 계획, 보상 절차를 공개하지 않았습니다 .
이 사건은 DeFi의 더 큰 흐름과 관련이 있나요?
네. 금액 규모보다는 발생 빈도 측면에서 그렇습니다. DefiLlama는 2026년에 발생한 사건 5건을 거버넌스 공격으로 분류했으며, 합산 피해액은 약 2,510만 달러입니다. 그중 가장 큰 사건은 2026년 7월 6일 BonkDAO 트레저리에서 2,000만 달러가 빠져나간 사례였습니다 . 여러 사례에서 반복되는 패턴은 다음과 같습니다.
- 집중된 투표권. BonkDAO 사례에서는 공격자와 연결된 지갑들이 행사된 표의 약 99.878%를 장악했고, 실제로 투표한 주소는 7개뿐이었습니다 .
- 아무도 이의를 제기하지 않는 공개 제안. SlowMist의 Yu Xian은 “BIP #76 – Sowellian BonkDAO” 제안이 6일 동안 공개 상태로 있었지만 아무도 문제를 제기하지 않았다고 지적했습니다. 이는 Term에서 나타난 기간과 같은 길이입니다 .
- 오래된 선례. 2022년 2월 Build Finance의 적대적 인수와 2023년 5월 120만 개의 조작된 표를 통한 Tornado Cash 거버넌스 장악은 이미 몇 년 전 이 방식의 틀을 보여줬습니다.
전체 손실 규모와 비교하면 거버넌스 공격은 여전히 소수 범주입니다. Term의 850만 달러 피해로 2026년 8월 피해액은 18건 합산 2,700만 달러를 넘어섰지만, 7월의 38건 및 약 2억 4,700만~2억 5,400만 달러에는 크게 못 미칩니다. 한편 2026년 누적 DeFi 손실은 182건에 걸쳐 11억 달러를 넘어섰습니다 .