
백엔드
2023.11.23 Kyberswap exploit analysis
두줄요약
Kyberswap 익스플로잇의 원인을 수수료 재투자와 틱 경계 계산 오류 관점에서 분석했습니다. 올림·내림 처리 차이가 가격 구간 판정과 유동성 갱신 누락으로 이어진 과정을 설명했습니다.
핵심 내용
- Kyberswap이 2023년 11월 23일 약 4,800만 달러 손실을 입은 공격 사례 분석
- Uniswap v3 계열 AMM에서 수수료 재투자 구조와 틱 경계 처리, 올림/내림 선택이 공격 가능성에 미친 영향 정리
원인 분석
- swap2에서 유동성 경계 틱을 넘어도 baseL 갱신이 누락되어 공격자 유동성이 잘못 유지
estimateIncrementalLiquidity의 deltaL 내림 처리로calcFinalPrice가 과도하게 커져 예상과 다른 tick cross 발생calcReachAmount와calcFinalPrice사이의 계산 기준 불일치로 가격 구간 판정이 모순
해결 방법
estimateIncrementalLiquidity의mulDivFloor를mulDivCeiling으로 수정해 반올림 방향 정정- 브루트포스 POC가 더 이상 유효한 유동성 값을 찾지 못함을 테스트로 확인
- swap 단계별 가격 구간, 틱 경계, 유동성 갱신 조건을 함께 검증하는 방식 필요
