거버넌스 공격
2026-01-299분 읽기
거버넌스 공격이란
거버넌스 공격은 DAO의 의사결정 과정을 악용하여 부당한 이익을 취하는 행위다. 프로토콜 자체가 아닌 거버넌스 메커니즘의 취약점을 노린다.
공격자의 목표:
- 트레저리 자금 탈취
- 프로토콜 파라미터 조작
- 토큰 발행 권한 획득
공격 유형
1. 51% 공격 (다수결 공격)
방식:
- 거버넌스 토큰의 과반 확보
- 악의적 제안 통과
- 트레저리 탈취 등
특징:
- 막대한 자본 필요
- 장기적 축적 또는 토큰 구매
- 탐지 용이
2. 플래시 론 거버넌스 공격
방식:
- 플래시 론으로 대량의 거버넌스 토큰 차입
- 순간적으로 투표권 행사
- 같은 트랜잭션 내 토큰 반환
특징:
- 자본 불필요
- 빠른 실행
- 스냅샷 기반 투표로 방어 가능
3. 악의적 제안
방식:
- 복잡한 코드에 악의적 로직 숨김
- 정상 제안처럼 위장
- 검토 미비 시 통과
특징:
- 기술적 전문성 필요
- 커뮤니티 검토로 방어
- 타임락이 발견 시간 제공
4. 투표 매수
방식:
- 토큰 보유자에게 뇌물
- 특정 제안에 투표 대가 지불
- Votium 같은 플랫폼 활용
특징:
- 합법/불법 경계 모호
- Curve Wars에서 일상화
- 직접적 자금 탈취는 아님
5. 소셜 엔지니어링
방식:
- 커뮤니티 조작
- 거짓 정보 유포
- 신뢰 악용
Beanstalk 공격 사례
배경
Beanstalk:
- 알고리즘 스테이블코인 프로토콜
- BEAN 토큰
- TVL ~$180M
거버넌스 구조:
- Stalk 토큰으로 투표
- 제안 즉시 실행 가능 (타임락 없음)
- 플래시 론 방어 없음
공격 과정 (2022년 4월)
1. 자금 조달:
- Aave에서 $1B 플래시 론
- 주로 DAI, USDC, USDT
2. Stalk 토큰 확보:
- 플래시 론 자금으로 대량의 BEAN 구매
- Curve 풀에 예치 → Stalk 획득
- 순간적으로 67% 투표력 확보
3. 악의적 제안 통과:
- BIP-18: 트레저리 전체를 공격자 주소로 전송
- 67%로 즉시 가결
4. 자금 탈취:
- 트레저리 $180M 탈취
- Tornado Cash로 자금 세탁
5. 플래시 론 상환:
- 남은 자금으로 플래시 론 상환
- 순이익: ~$80M
공격 요약
플래시 론 $1B 차입
↓
BEAN 구매 + 예치 → Stalk 획득
↓
67% 투표력으로 악의적 제안 통과
↓
트레저리 $180M 탈취
↓
플래시 론 상환
↓
순이익 ~$80M
취약점 분석
1. 플래시 론 방어 부재:
- 현재 블록 잔액으로 투표 가능
- 스냅샷 기반이 아님
2. 타임락 부재:
- 제안 통과 즉시 실행
- 검토/대응 시간 없음
3. 높은 투표력 집중:
- 단일 트랜잭션으로 67% 확보 가능
기타 공격 사례
Build Finance (2022년)
피해: ~$470K
공격:
- 거버넌스 토큰 저가 매집
- 트레저리 탈취 제안 통과
- 장기적 축적 방식
Tornado Cash 거버넌스 (2023년)
공격:
- 악의적 제안에 숨겨진 코드
- 10,000 TORN 추가 투표권 부여
- 거버넌스 완전 장악
특이점:
- 제안서 자체에 악성 코드 숨김
- 커뮤니티 검토 실패
Mango Markets (2022년)
피해: $114M
공격:
- 가격 조작 + 거버넌스 협박
- 직접적 거버넌스 공격은 아님
- 자금 반환 협상
방어 메커니즘
1. 스냅샷 기반 투표
원리:
- 과거 특정 블록의 잔액으로 투표
- 플래시 론으로 순간 확보 무력화
예시:
- 제안 생성 시점 -1 블록의 잔액
- 또는 특정 블록 번호 지정
2. 타임락 (Timelock)
원리:
- 제안 통과 후 실행까지 대기 기간
- 악의적 제안 발견 시 대응 시간
일반적 설정:
- 24시간 ~ 7일
- 중요도에 따라 차등
3. 쿼럼 요건
원리:
- 최소 참여율 요구
- 소수 공격 방지
예시:
- 총 공급량의 4% 이상 참여
- 또는 특정 토큰 수 이상
4. 제안 임계값
원리:
- 제안 생성에 최소 토큰 요구
- 스팸/악의적 제안 억제
예시:
- Uniswap: 2.5M UNI (~0.25%)
- Compound: 100 COMP
5. Guardian/Emergency 권한
원리:
- 긴급 상황 시 실행 중단 권한
- 멀티시그 또는 특정 주소
주의:
- 중앙화 요소
- 남용 가능성
6. Vote Escrow (veCRV 방식)
원리:
- 토큰 장기 잠금 → 투표권
- 단기 축적/플래시 론 무력화
예시:
- Curve: CRV를 최대 4년 잠금 → veCRV
- 잠금 기간에 비례한 투표력
7. 점진적 실행
원리:
- 대규모 변경은 단계적 실행
- 한 번에 전체 트레저리 이동 불가
방어 체크리스트
프로토콜 설계 시
- 스냅샷 기반 투표 (플래시 론 방어)
- 타임락 설정 (최소 24시간)
- 적절한 쿼럼 요건
- 제안 임계값 설정
- 긴급 정지 메커니즘
- 제안 코드 자동 검토
커뮤니티
- 모든 제안 세밀히 검토
- 의심스러운 제안 경고
- 대형 토큰 이동 모니터링
- 새로운 대형 보유자 주시
토큰 보유자
- 위임 신중히 선택
- 주요 제안 직접 검토
- 의심스러운 활동 신고
거버넌스 보안의 딜레마
탈중앙화 vs 보안
문제:
- 완전 탈중앙화 = 공격에 취약
- 보안 강화 = 중앙화 요소 도입
Guardian 딜레마:
- 긴급 권한 있으면 = 중앙화
- 없으면 = 공격 대응 불가
참여 vs 효율
문제:
- 높은 쿼럼 = 낮은 통과율
- 낮은 쿼럼 = 소수 지배
현재의 타협
대부분의 프로토콜:
- 스냅샷 + 타임락 + 쿼럼
- Guardian 권한 (제한적)
- 점진적 탈중앙화
거버넌스 공격 대응
공격 발견 시
- 즉시 경고: Discord, Twitter 등
- Guardian 활성화: 긴급 정지
- 커뮤니티 동원: 반대 투표
- 법적 조치 검토: 가능한 경우
공격 성공 후
- 손실 평가
- 취약점 분석
- 프로토콜 재건 (포크)
- 보상 계획 수립
- 방어 메커니즘 강화
정리
거버넌스 공격은 DAO의 의사결정 과정을 악용하여 트레저리 탈취 등 부당한 이익을 취하는 행위다. Beanstalk 사례는 플래시 론으로 순간적 투표력을 확보하여 $180M을 탈취한 대표적 공격이다. 주요 방어책은 스냅샷 기반 투표(플래시 론 방어), 타임락(대응 시간), 쿼럼 요건, 긴급 정지 권한 등이다. 완전한 탈중앙화와 보안 사이에 트레이드오프가 있으며, 대부분의 프로토콜은 여러 방어 메커니즘을 조합하여 사용한다. 커뮤니티의 적극적 모니터링과 제안 검토가 최후의 방어선이다.