테더(USDT) 442만개 스왑 출력…풀 순유출은 약 55만6000개
블록섹 팰컨과 ExVul은 매도세의 30% 세금 처리와 풀 준비금 동기화 순서를 원인으로 들었다.
토포AI로 이 기사 더 깊이 읽기
공격자는 5일 BNB 체인의 텐드릴(TENDRIL) 유동성 풀에서 한 차례 스왑으로 테더(USDT) 4,421,023.357469개를 가져갔다. 거래 전체를 계산한 풀 순유출은 단일 스왑 출력액보다 적었다.
BNBScan 거래 기록상 해당 거래는 한국시간 5일 오전 1시 2분 45초 실행돼 블록 131,653,427에 기록됐다. 트랜잭션 해시는 0xfdff4fba4327821c204af07944076ecaaee163a994398fdf4063d08712e40059다.
팬케이크스왑(PancakeSwap) V2의 텐드릴·테더 풀에서 공격 계약으로 전송된 4,421,023.357469개는 해당 스왑의 출력액이다. 이 수치는 거래 전체에서 풀에 발생한 순유출액과 구분해야 한다.
같은 트랜잭션에서 풀 밖으로 나간 테더는 총 5,117,517.824288개, 풀로 들어온 테더는 4,561,847.285535개다. 두 흐름의 차액인 순유출은 555,670.538753개다.
탈중앙화거래소(DEX) 유동성 풀에서는 한 거래 안에서도 자산이 여러 차례 오갈 수 있다. 따라서 한 차례 스왑의 출력액과 전체 트랜잭션의 유출·유입 차액은 서로 다른 지표다.
같은 트랜잭션에는 테더 30,641,402.469693개를 빌린 뒤 전액 갚은 기록도 있다. 플래시론은 한 트랜잭션 안에서 대출과 상환을 마치는 방식이다.
블록섹 팰컨(BlockSec Phalcon)은 공격자가 빌린 테더로 텐드릴을 매수한 뒤 매도했다고 분석했다. 보안업체는 토큰 매도에 붙은 30% 세금이 처리되는 순서에 주목했다.
블록섹 팰컨의 분석에 따르면 매도세가 처리되는 동안 풀 안의 텐드릴 잔액이 소각되고 준비금이 갱신됐다. 매도 물량의 나머지가 풀에 도착하기 전에 기록상 준비금이 거의 0으로 줄었다는 설명이다.
sync()는 풀 계약이 준비금을 토큰 잔액에 맞춰 다시 기록하는 호출이다. 이 호출이 매도 물량의 나머지가 유입되기 전에 실행된 순서가 보안업체 분석의 핵심이다.
ExVul은 준비금 동기화 직후 풀에 기록된 텐드릴 잔액이 6,678wei였다고 밝혔다. 이는 보안업체의 코드·트랜잭션 분석에 따른 설명이다.
BNBScan에는 별도 주소로 테더 308,959.367543개가 전송된 기록도 남아 있다. 이 전송액만으로 공격자의 최종 수익을 단정할 수는 없다.
토큰 매입 비용과 기존 유동성 포지션, 가스비 등을 포함한 전체 손익은 해당 트랜잭션의 전송 내역만으로 계산되지 않는다. 텐드릴 측의 공식 입장이나 수정 조치, 자금 회수 공지는 공개 검색에서 확인되지 않았다.
이도현 기자 




Comment 0
불러오는 중…