코리움(Coreum) 크로스체인 브리지의 예치 검증 오류로 준비금의 99.7%에 해당하는 19만9916 리플(XRP)이 유출됐다. 공격자는 실제 XRP를 브리지에 보내지 않고도 정상적으로 예치한 것처럼 인식시켜 준비금을 인출했다.
공격은 8월 9일 발생했으며 피해액은 20만 달러(약 2억8260만원)를 넘었다고 프로토스(Protos)는 보도했다. 인출은 94건에 걸쳐 이뤄졌고 각 거래에는 브리지 릴레이어 다수의 서명이 붙었다.
개인키 탈취가 아니라 릴레이어 소프트웨어의 검증 오류가 사고 원인으로 지목됐다. 릴레이어는 서로 다른 블록체인의 거래를 감시하고 자산 이동에 필요한 증명을 제출하는 운영 주체다.
이번 공격은 XRP 레저(XRP Ledger) 거래에 담긴 ‘메모’를 악용했다. 릴레이어 소프트웨어는 브리지 계정의 거래 내역에서 코리움 수신자 메모가 포함된 결제를 감시했다.
문제는 소프트웨어가 결제의 실제 목적지를 확인하지 않았다는 점이다. 거래에는 유효한 것처럼 보이는 메모가 있었지만 XRP의 목적지는 브리지 계정이 아닌 공격자 지갑이었다.
릴레이어들은 해당 거래를 정상 예치로 판단해 인출에 서명했다. 여러 운영자가 참여했지만 모두 같은 오류가 있는 코드를 사용하면서 독립적인 검증 장치가 제대로 작동하지 않았다.
TX는 코리움과 솔로제닉(Sologenic) 커뮤니티를 흡수한 브랜드다. TX는 사고를 확인하며 소프트웨어가 “실제로 XRP를 브리지에 전달하지 않은 거래를 예치로 잘못 등록했고, 그에 맞춰 TX 체인에서 브리지 XRP를 발행했다”고 밝혔다.
이 과정에서 TX 체인에는 실제 XRP로 뒷받침되지 않은 브리지 XRP가 만들어졌다. 공격자는 이를 이용해 브리지 유동성 계정에 보관된 실제 XRP를 인출했다.
TX는 해당 브리지가 배포 전에 내부 감사와 제3자 감사를 여러 차례 거쳤다고 밝혔다. 그러나 감사 이후에도 실제 결제 목적지를 확인하지 않는 검증 오류가 남아 있었다.
사고 뒤 브리지 유동성 계정에는 493 XRP만 남았다. 공격 전 준비금 가운데 99.7%가 빠져나가면서 TX 체인의 브리지 XRP도 완전히 담보되지 않은 상태가 됐다.
크로스체인 브리지는 한 블록체인에 맡긴 자산을 담보로 다른 체인에서 대응 자산을 발행하는 구조다. 원본 자산의 입금 여부가 잘못 판정되면 담보 없이 대응 자산이 발행되고 실제 준비금 인출로 이어질 수 있다.
멀티시그는 여러 참여자의 서명을 받아야 자금을 이동할 수 있도록 만든 장치다. 다만 서명자들이 동일한 검증 소프트웨어를 사용하면 하나의 논리 오류가 여러 서명에 반복 반영될 수 있다.
이번 사고는 본지가 앞서 보도한 코리움 브리지 유출 사건의 공격 방식을 구체적으로 보여준다. 당시에도 XRP 레저 자체가 아니라 브리지 릴레이어 소프트웨어의 입금 검증 허점이 악용된 것으로 파악됐다.
TX는 TX 체인의 브리지 XRP가 현재 완전히 담보되지 않았다고 인정했다. 이번 사고와 관련한 신고는 미국 연방수사국(FBI)에 접수됐다.


