탈중앙화거래소(DEX) 애그리게이터 0x가 분석한 유니스왑 v4 훅 8만4163개 가운데 54.2%가 악성으로 분류됐다. 악성 훅이 거래 견적과 실제 체결 과정에서 다른 조건을 적용할 수 있다는 분석이 나오면서 라우팅 책임을 둘러싼 공방이 벌어졌다.
0x는 9월 11일 기준 6개 블록체인의 훅을 정적·동적 분석과 실제 체결 거래 관찰 방식으로 조사했다고 9월 14일 밝혔다. 전체 훅 중 안전한 것으로 분류된 비율은 19.4%, 악성 가능성이 있는 훅은 26.4%였다.
0x는 악성 훅이 애그리게이터와 지갑에 매력적인 가격을 먼저 제시해 거래를 유도한 뒤 체결 과정에서 수수료나 교환 조건을 바꿀 수 있다고 설명했다. 악성 훅을 거친 거래에서는 사용자가 견적보다 최대 50% 적은 자산을 받을 수 있다고 밝혔다.
실제 사례도 제시됐다. Base의 한 훅은 ETH와 NVDAc 거래쌍에서 6516건의 거래를 처리했고, 이 가운데 3946건에 수수료를 부과했다. 부과 수수료의 중앙값은 18%였다.
BNB의 USDT·WBNB 거래쌍에 연결된 다른 훅은 4879건의 거래 중 1619건에 수수료를 매겼다. 이 훅의 부과 수수료 중앙값은 12.8%로 나타났다.
0x는 올해 8192만건의 거래를 라우팅했으며 거래량은 426억7000만달러(약 57조4700억원)라고 밝혔다. 이 가운데 약 70%가 유니스왑 유동성에 접근했으며, 0x는 의심스러운 풀이 라우팅 결과에 나타나지 않도록 탐지 기술과 유동성 풀 심사 절차를 강화했다고 덧붙였다.
유니스왑 v4 훅은 풀과 스왑, 수수료, 유동성 포지션의 작동 방식을 바꾸는 스마트계약 플러그인이다. 개발자는 스왑 전후 단계에 별도 로직을 붙여 동적 수수료, 온체인 지정가 주문, 유동성 관리 기능 등을 구현할 수 있다.
훅은 유니스왑랩스와 별개인 제3자도 개발할 수 있다. 이에 따라 기능 확장성이 커지는 동시에, 거래 실행 경로에 어떤 로직이 포함됐는지 이용자가 직접 확인해야 하는 구조가 됐다.
유니스왑은 일부 훅을 라우팅 허용 목록에 올리기 위한 검토 절차를 운영한다. 다만 이 절차는 보안 감사나 안전성 보증이 아니며, 허용 목록에 포함됐다는 사실만으로 훅의 보안이 확인되는 것은 아니라고 명시했다.
헤이든 애덤스(Hayden Adams) 유니스왑 창업자는 “스킬 이슈다. 나쁜 훅으로 라우팅하지 말라”고 말했다. 유니스왑의 API와 라우팅 기능을 활용하면 문제 있는 훅을 피할 수 있다는 취지의 반박이다.
댄 로빈슨(Dan Robinson) 패러다임 관계자는 0x의 분석 제목을 “0x 라우팅의 실수”로 바꿔야 한다고 주장했다. 애그리게이터가 임의의 훅으로 거래를 연결해서는 안 되며, 유니스왑 자체 라우터에도 승인 절차가 있다고 지적했다.
이번 논쟁은 훅 자체의 개방성과 거래 실행 단계의 검증 책임이 충돌한 사례다. 0x는 악성 훅 탐지와 라우팅 심사를 강조했고, 유니스왑 측은 라우터가 허용되지 않은 훅을 거래 경로에 포함하지 않는 것이 우선이라고 맞섰다.
유니스왑 v4 훅이 맞춤형 유동성 설계의 수단으로 활용되고 있다는 점은 앞서 본지가 보도한 유니스왑 v4 훅 관련 분석에서도 다뤄졌다. 당시에도 훅은 스왑 전후 로직과 수수료, 유동성 관리 방식을 풀별로 다르게 설계할 수 있는 기능으로 설명됐다.
이번 분석에서 제시된 수치는 훅의 기능 확장성이 거래 조건에 직접 영향을 줄 수 있음을 보여준다. 특히 견적 단계와 결제 단계의 조건이 달라질 수 있다는 지적은 지갑과 애그리게이터가 훅의 코드와 라우팅 경로를 함께 검토해야 한다는 논쟁으로 이어졌다.
0x와 유니스왑 측의 주장이 엇갈리면서 유니스왑 v4 생태계에서는 허용 목록, 라우터 검증, 거래 전후 조건 비교가 핵심 점검 항목으로 남게 됐다.
