탈중앙화 크로스체인 스왑 프로토콜 체인플립이 트론 USDT 유동성 공급자(LP)의 계정 잔액을 0으로 재설정한 뒤 네트워크를 재가동한다. 기존 잔액은 별도 온체인 기록에 남겨 상환 청구액을 추적한다.
체인플립은 9월 15일 공식 블로그에서 트론 볼트에 보관된 자산보다 LP에게 지급해야 할 금액이 많아 잔액 초기화가 필요하다고 밝혔다. 앞서 전한 공격으로 트론 볼트에서 73만6442.17 USDT가 빠져나갔고, 공격자는 LP 출금 6건을 중복 지급받은 것으로 조사됐다.
공격은 9월 12일 발생했다. 체인플립은 9월 13일 사고 보고서에서 다른 자금은 영향을 받지 않았다고 밝혔다.
재가동 과정에서는 트론 USDT와 연결된 미체결 주문과 전략, 대출·렌딩 포지션이 모두 종료된다. 이후 각 LP가 재설정 전 보유한 잔액을 별도 온체인 기록에 남기고, 실제 계정에 표시되는 트론 USDT 잔액을 0으로 바꾼다.
별도 온체인 기록은 LP가 받아야 할 금액을 추적하기 위한 장치다. 해당 기록이 즉시 지급을 의미하는 것은 아니다.
체인플립은 피해 LP와 직접 해결 방안을 논의하고 손실을 보전할 계획이라고 밝혔다. 다만 상환 재원과 지급 시점, 탈취 자금 가운데 회수할 수 있는 규모는 공개하지 않았다.
체인플립은 소프트웨어 버전 2.2.13에서 트론 볼트 스왑을 볼트로 직접 전송되는 거래로 제한했다. 일반 TRX 전송이나 직접적인 TRC-20 전송에 붙은 메모만 스왑 지시로 인정하는 방식이다.
이번 공격은 트론 거래에 포함된 메모를 스왑 지시로 읽는 구조에서 발생했다. 공격자는 체인플립 검증자가 이미 서명한 내부 전송 거래에 변조된 메모를 붙였고, 감시 계층은 이를 실패한 스왑으로 판단해 환불을 실행했다.
그 결과 공격자의 정상적인 LP 출금과 환불이 겹치면서 자금이 두 차례 지급됐다. 체인플립은 버전 2.2.13에서 이 경로를 직접 전송 방식으로 제한했다.
이번 수정으로 스마트컨트랙트 지갑에서 보내는 거래나 자체 컨트랙트 호출로 감싼 애그리게이터의 거래는 트론 볼트 스왑에 이전처럼 쉽게 접근하기 어려워진다. 체인플립은 현재 통합된 서비스 가운데 이 방식에 해당하는 곳은 없다고 설명했다.
네트워크가 재가동되면 트론을 제외한 나머지 체인은 기존 상태로 돌아온다. 트론 경로는 감시 계층의 처리가 따라잡은 뒤 다시 활성화할 예정이다.
아직 지급되지 않은 사용자 스왑 11만5654.41 USDT는 볼트에 남아 있다. 체인플립은 네트워크 재가동 이후 해당 금액을 지급할 수 있다고 밝혔다.
LP는 프로토콜에 유동성을 공급하는 참여자이며, 볼트는 스왑 자산을 보관하고 거래를 처리하는 온체인 계정이다. 이번 조치는 볼트의 자산 부족분과 LP의 청구액을 분리해 기록하는 절차다.
체인플립은 이번 사건을 볼트 자금 손실로 이어진 첫 중대 보안 사고로 규정했다. 사고 보고서에는 다른 자금이 영향을 받지 않았다고 적혔다.
체인플립은 LP 잔액 재설정과 트론 경로 중단을 포함한 재가동 절차를 진행한 뒤, 감시 계층의 처리가 완료되면 트론 경로를 다시 활성화할 예정이다.


김민준 기자
댓글0
첫 댓글을 남겨 보세요.