Radix Foundation은 9월 17일, 2023년 코드 재구성과 관련된 Radix 네트워크의 취약점이 올해 8월 악용돼 여러 금고에서 약 126만달러 상당의 자산이 빠져나갔다고 밝혔다. 거래 실행과 자산 소유권 검증을 담당하는 Radix Engine에 문제가 있었던 만큼, 검증자들은 추가 거래를 막기 위해 한때 네트워크 합의를 중단했고 블록체인 거래는 10일 넘게 멈췄다.
이번 사건의 영향은 직접 유출된 금액에 그치지 않는다. 조사 결과 이 취약점은 사용자 계정, 애플리케이션, 유동성 풀 등 네트워크 내 모든 금고를 공격하는 데 이론적으로 활용될 수 있었다. 거래 플랫폼과 유동성 공급자 입장에서는 자산 인출 권한을 통제해야 할 기저 실행 계층의 경계가 제대로 작동하지 않았다는 점이 핵심 쟁점이다.
26건의 거래로 여러 자산 유출
커뮤니티가 원장을 재구성한 결과, 공격자는 8월 31일 16시 02분부터 16시 57분까지(UTC) 총 26건의 악성 거래를 실행했다. 이 과정에서 약 45만8,915 USDC, 7만2,420 USDT, 61.08 ETH, 6.35 Wrapped Bitcoin, 536.16 SOL, 32.91 BNB가 빠져나갔다. 8월 31일 시장 가격을 기준으로 한 총액은 약 126만달러였으며, 두 스테이블코인의 합산 가치는 약 53만1,300달러였다.
공격자는 거래 수수료를 지불하기 위해 한 금고에서 1만3,000 XRD도 인출했다. 이후 유출 자산은 Hyperlane을 통해 이더리움, BNB 체인, 솔라나로 이동한 뒤 ETH로 교환됐다. Radix Foundation은 Hyperlane 브리지가 설계대로 작동했으며, 공격자가 Radix Engine에서 자산을 확보한 뒤 이 크로스체인 도구를 이용해 자금을 옮겼다고 설명했다. 현재까지 개인키가 유출됐다는 정황은 확인되지 않았다.
실제 피해 규모는 직접 이동된 크로스체인 자산보다 클 가능성이 있다. 조사단은 이 취약점이 공격자가 실제로 인출한 자산에만 영향을 준 것이 아니라, 네트워크 내 다른 금고의 토큰과 자산에도 같은 위험을 초래할 수 있었다고 보고 있다.
2023년 코드 정리 과정에서 취약점 발생
Radix Foundation에 따르면 이번 결함은 RDX Works 개발팀이 2023년 6월 Radix Engine 코드를 정리하는 과정에서 유입됐다. 취약점은 3년 넘게 네트워크에 존재했으며, 2026년 8월 31일 처음 악용됐다.
문제는 엔진이 금고 참조를 처리하는 방식에 있었다. 거래는 내부 주소를 이용해 다른 사용자의 금고를 가리킬 수 있었고, 이 참조를 특정 스마트 계약에 전달할 수 있었다. 이후 Radix Engine은 일반 인출 함수를 호출하도록 허용했지만 소유권 검사를 제대로 수행하지 않아 권한 없는 요청을 차단하지 못했다.
정상적인 설계라면 금고 소유자 또는 권한을 부여받은 거래만 내부 자산을 인출할 수 있다. 그러나 이번 결함으로 공격자는 자산 소유자의 서명을 확보하지 않고도 사용자 계정, 애플리케이션, 유동성 풀에 보관된 자금에 접근할 가능성이 있었다.
이 코드 문제는 앞서 독립 보안 감사를 통과한 이력도 있었다. Zellic은 2024년 Radix 프로토콜을 감사하면서 해당 결함이 포함된 엔진 코어를 범위에 넣었지만, 이 권한 검증 취약점을 발견하지 못했다. 취약점이 전년도 코드 재구성 과정에서 발생했다는 점은 정기적인 유지보수가 기존의 보안 가정을 바꿀 수 있으며, 통상적인 감사만으로 이런 변화를 항상 식별하기 어렵다는 점을 보여준다.
검증자들, 추가 거래 차단 위해 합의 중단
조사 과정에서 문제가 개별 애플리케이션이 아니라 거래 실행 계층에 있다는 사실이 확인되자, Radix 검증자들은 공동 대응에 나섰다. 이들은 네트워크가 계속 합의를 형성하고 추가 거래를 처리하지 못하도록 충분한 규모의 스테이킹을 자발적으로 오프라인 상태로 전환했다.
네트워크 중단은 10일 넘게 이어졌다. 프로토콜 수정안에는 새로운 검사가 추가돼 제한된 금고 참조가 일반 인출에 사용되지 않도록 했다. 커뮤니티 원장 재구성에 따르면 사용자 거래는 9월 11일 재개됐다.
사건 이후 유동성 풀에서도 추가 손실이 발생했다. 공격자가 일부 거래 쌍에서 한쪽의 크로스체인 자산을 이동시키면서 해당 풀의 가격 비율이 왜곡됐고, 다른 계정이 이 가격 이상을 이용해 영향을 받은 유동성 풀에서 수백만 XRD를 인출했다. 이는 초기 유출 자산이 네트워크를 떠난 뒤에도 실행 계층의 취약점이 가격 왜곡과 유동성 변화로 추가적인 경제적 손실을 만들 수 있음을 보여준다.
회귀 테스트와 비상 대응 절차 강화
Radix Foundation은 후속 조치로 회귀 테스트 확대, 보안 검토 절차 강화, 네트워크 보안을 회복하기 위해 검증자들이 수행한 긴급 조치의 공식화를 제시했다. 이미 악용된 코드 경로를 차단하는 데 그치지 않고, 권한 부여 로직과 관련된 모든 코드 변경을 다시 검토하는 것이 수정 작업의 핵심이다.
Foundation은 앞으로의 보안 작업에서 성능이 계속 향상되는 AI 기반 코드 분석 도구도 고려해야 한다고 밝혔다. 이런 도구가 공격자에게 수년간 존재한 결함을 찾는 데 활용될 가능성이 있다는 설명이다. 다만 현재 공개된 내용만으로는 공격자가 특정 도구를 사용했는지 확인되지 않았다.
개발자와 검증자에게 남은 과제는 충분한 테스트와 재검토 없이 일반적인 유지보수 작업이 권한 모델을 바꾸지 않도록 하는 것이다. 사용자와 유동성 공급자는 금고 소유권 검사가 앞으로도 정확히 작동하는지, 유사한 사건에서 새 비상 대응 절차가 제때 가동되는지를 통해 Radix 자산의 보안성과 네트워크 안정성을 판단하게 된다.