유동성 소각에도 140억 규모 암호화폐 풀 '털렸다'

블록체인 분석 기업 비트쿼리(Bitquery)가 지난 10월 7일 팬케이크스왑(PancakeSwap)에서 운영되던 79AU 토큰 풀에서 약 1435만 달러(한화 약 190억원) 상당의 USDT가 유출된 사실을 발견했다. 흥미로운 점은 해당 유출이 유동성 공급자(LP)의 영수증이 이미 소각된 상태에서 발생했다는 것이다. 이는 일반적인 탈중앙 금융(DeFi) 프로토콜의 작동 방식과 다르기에 업계의 이목이 쏠리고 있다.
**소각된 LP 영수증, 왜 막지 못했나?**
일반적으로 팬케이크스왑과 같은 탈중앙 거래소(DEX)에서 유동성을 공급하는 사용자는 LP 토큰이라는 영수증을 받는다. 이 영수증은 자신이 공급한 유동성의 비율을 나타내며, 이를 소각(burned)하면 자신이 예치했던 두 가지 자산을 되찾을 수 있다. 하지만 이번 사건에서는 LP 영수증이 소각되었음에도 불구하고 자금 유출이 발생했다. 비트쿼리의 분석에 따르면, 79AU 토큰 자체에 내재된 별도의 권한이 이를 가능하게 한 것으로 보인다.
이는 LP 토큰 소각이 단순히 유동성 공급자의 권리를 제한할 뿐, 프로토콜 자체의 자금 인출 권한을 무력화하지는 못한다는 점을 시사한다. 팬케이크스왑의 V2 버전 문서에 따르면, LP 토큰은 사용자가 풀에 예치한 자산과는 별개로 자신의 지분을 증명하는 영수증 역할을 한다. 일반적인 유동성 회수 과정에서는 사용자가 회수할 지분을 선택하고, 그에 해당하는 두 종류의 자산을 돌려받는다. 만약 LP 영수증을 접근 불가능한 주소로 보내 소각하면, 해당 유동성을 다시 회수할 수 없게 된다. 하지만 이것이 곧바로 풀 내에서의 거래(swap)를 비활성화하는 것은 아니다. 거래는 풀에 있는 실제 자산을 교환하는 과정이며, LP 포지션을 현금화하는 것과는 다르다.
팬케이크스왑의 보관된 페어 계약(archived pair contract)에서는 LP 영수증의 회수, 자산 교환, 그리고 기록된 준비금 업데이트가 각각 별도의 연산으로 처리된다. 'swap' 연산은 LP 영수증을 소비하지 않고 토큰 입력을 확인한다. 'reserve-update' 연산은 기본 토큰 계약에서 잔액을 읽어온다. 즉, LP 영수증을 소각하는 행위 자체가 해당 계약의 잔액 규칙을 재작성하거나, 특정 주소의 토큰 인출 권한을 무효화하지는 않는다는 것이다.
**비밀에 부쳐진 '인출 권한'의 존재**
비트쿼리는 10월 8일 12시 53분(UTC 기준) 스냅샷을 통해 79AU 풀에서 자금을 인출할 수 있는 권한을 가진 두 개의 주소를 식별했다. 하나는 해당 토큰을 처음 배포한 주소(deployer)였으며, 다른 하나는 새롭게 권한이 부여된 지갑이었다. 이 두 주소 중 하나를 통해 약 95%에 달하는 풀의 남은 79AU 자산을 인출할 수 있는 것으로 나타났다. 다만, 비트쿼리가 진행한 '읽기 전용' 시뮬레이션 테스트에서는 실제 자금이 이동하지는 않았다. 이는 해당 권한이 실제 인출이 가능한 상태였음을 확인시켜주는 간접적인 증거가 된다.
동일한 스냅샷에서는 아직 소각되지 않은 LP 영수증의 21%를 보유한 지갑도 확인되었다. 이 지갑은 해당 지분에 대한 일반적인 회수 권한을 가지고 있었다. 즉, 전체 유동성 중 일부는 정상적인 절차를 통해 회수가 가능한 상태였다는 의미다.
이번 사건의 핵심은 79AU 토큰 자체에 내재된 '특정 주소의 자금 인출 권한'이 LP 영수증 소각 메커니즘을 우회할 수 있었다는 점이다. 이러한 유형의 권한은 일반적으로 사용자들에게 투명하게 공개되지 않거나, 특정 개발자 또는 거버넌스 참여자들에게만 부여되는 경우가 많다. 이번 사례는 이러한 '백도어'와 같은 기능이 악의적인 목적으로 사용될 경우, 얼마나 치명적인 결과를 초래할 수 있는지를 여실히 보여준다.
**보안 감사와 스마트 계약의 취약점**
DeFi 생태계에서는 프로토콜의 보안 감사(security audit)가 매우 중요한 역할을 한다. 그러나 이번 사건은 기존의 유동성 공급 및 회수 메커니즘에 대한 감사만으로는 발견하기 어려운, 스마트 계약 자체의 논리적 취약점을 간과했을 가능성을 시사한다. 79AU 토큰의 배포자가 의도적으로 이러한 인출 권한을 심어 놓았거나, 혹은 스마트 계약 개발 과정에서 예기치 못한 부작용이 발생했을 가능성도 배제할 수 없다.
비트쿼리는 79AU 토큰의 이전 이력을 추적하고, 이 특정 인출 권한이 언제, 어떻게 부여되었는지 추가적인 조사를 진행할 예정이라고 밝혔다. 또한, 이러한 유형의 공격이 다른 DeFi 프로토콜에서도 발생할 수 있는지에 대한 경각심을 높이고 있다. 사용자들은 유동성 풀에 자산을 예치하기 전에 해당 프로토콜의 보안 감사 보고서, 개발팀의 신뢰도, 그리고 스마트 계약의 투명성 등을 면밀히 검토하는 것이 더욱 중요해졌다.
이번 사건으로 인해 팬케이크스왑을 포함한 여러 DEX 및 DeFi 프로토콜 운영자들은 LP 영수증 소각 외에도 자금 인출과 관련된 추가적인 보안 장치 마련을 검토하게 될 것으로 보인다. 또한, 토큰 발행 시 스마트 계약의 모든 가능한 시나리오를 고려한 철저한 검증 절차가 요구된다.