
Cobo 보안 팀 분석: 스타게이트(SG) 크로스체인 브리지의 기반 프로토콜 레이어제로(LayerZero) 중대한 보안 취약점
TechFlow 선정TechFlow 추천

Cobo 보안 팀 분석: 스타게이트(SG) 크로스체인 브리지의 기반 프로토콜 레이어제로(LayerZero) 중대한 보안 취약점
3월 28일 LayerZero는 별도의 공지를 하지 않은 채 크로스체인 검증 스마트 계약을 업데이트했다. Cobo 보안 팀은 기존 검증 계약과 새로운 검증 계약 코드를 비교한 결과, 이번 업데이트가 이전에 존재했던 심각한 보안 취약점의 수정임을 발견했다.
본 기사는 Cobo 블록체인 보안 연구 팀에서 제공한 기고문입니다. 팀 구성원들은 유명한 보안 연구소 출신으로, 다년간의 사이버 보안 및 취약점 탐지 경험을 보유하고 있으며, 구글과 마이크로소프트의 고위험도 취약점 문제 해결에 협력한 바 있으며, 구글 및 마이크로소프트 등 제조사들로부터 공식 감사를 받은 바 있습니다. 또한 마이크로소프트 MSRC의 가장 가치 있는 보안 연구자(Top MVP) 순위에서도 뛰어난 성적을 거둔 바 있습니다. 현재 이 팀은 스마트 계약 보안 및 DeFi 보안 분야를 중심으로 주목하고 있으며, 첨단 블록체인 보안 기술을 연구하고 이를 업계와 공유하고 있습니다.
저희는 암호화 디지털 자산 분야에 깊은 관심과 과학적인 방법론을 갖춘 평생 학습자들이 저희 팀에 합류하여 업계에 인사이트와 연구 성과를 기여하기를 바랍니다!
최근 Stargate 크로스체인 브릿지의 하부 프로토콜인 LayerZero가 기본 트랜잭션 검증 컨트랙트를 업데이트하였습니다. Cobo 블록체인 보안 팀의 분석 결과, 이번 업데이트는 이전 버전에 존재했던 심각한 취약점을 수정한 것으로, 해당 취약점은 LayerZero 기반으로 구축된 모든 크로스체인 프로젝트의 자산에 영향을 미칠 수 있었습니다.
Stargate Finance(https://stargate.finance/)는 최근 가장 주목받는 크로스체인 브릿지 프로젝트이며, 본문 작성 시점 기준 TVL이 35억 달러를 초과합니다.
Stargate 크로스체인 브릿지는 하부 구조에서 LayerZero를 기반으로 크로스체인 메시지 전달을 구현합니다. LayerZero의 크로스체인 메시지 전달 기본 원리는 다음과 같습니다:
-
Oracle은 소스 체인의 blockhash와 block receiptsRoot를 대상 체인에 제출합니다.
-
Relayer는 소스 체인에서 크로스체인 메시지를 포함한 트랜잭션의 receipt와 해당 receipt가 block receiptsRoot와 연결되는 경로 정보(Merkle Proof)를 대상 체인에 제출하며, 이때 대상 체인의 트랜잭션 검증 컨트랙트는 Ethereum MPT [1]의 종속 관계를 기반으로 Relayer가 제출한 receipt와 Oracle이 제출한 receiptsRoot 간의 유효성을 검증합니다.
-
검증이 통과되면 해당 receipt는 정당한 것으로 간주되어 상위 프로토콜로 전달되며, 이후 크로스체인 자산 이동 등의 작업을 트리거합니다.
LayerZero는 3월 28일 어떠한 공지도 없이 크로스체인 검증용 컨트랙트[2]를 업데이트했습니다. Cobo 보안 팀은 기존 검증 컨트랙트(MPTValidator)와 새롭게 업데이트된 컨트랙트(MPTValidatorV2)의 코드[3]를 비교한 결과, 이번 업데이트가 이전에 존재했던 중대한 보안 취약점의 패치임을 확인했습니다.
패치의 핵심 코드는 다음과 같습니다:

기존 취약점이 존재하는 코드에서는 MPT 검증 과정에서 외부에서 입력된 pointer 값을 사용해 다음 단계 연산에 필요한 hashRoot를 가져옵니다. 이 과정에서 Solidity의 저수준 add, mload 등 어셈블리 명령어를 이용해 proofBytes 내에서 hashRoot를 추출하지만, pointer 값이 proofBytes의 길이 범위 내에 있는지를 검사하지 않아 공격자가 범위를 벗어난 pointer를 입력함으로써 proofBytes 외부의 데이터를 다음 단계의 hashRoot로 읽어올 수 있습니다. 이로 인해 임의의 hashRoot를 위조할 수 있으며, 그 결과 위조된 트랜잭션 receipt도 MPT 검증을 통과할 수 있게 됩니다. 최종적으로 발생할 수 있는 결과는 Oracle이 완전히 신뢰할 수 있는 경우에도 불구하고, Relayer가 단독으로 위조된 receipt 데이터를 제출함으로써 크로스체인 프로토콜을 공격할 수 있다는 것이며, 이는 LayerZero의 기존 보안 가정을 무너뜨리는 것입니다.
현재 LayerZero 프로토콜의 Oracle은 멀티서명과 유사한 컨트랙트로, 세 명의 관리자 중 두 명이 동일한 데이터를 제출해야만 데이터를 유효하다고 판단합니다. 그러나 Relayer는 단일 서명 EOA(Ethereum Account)에 의해 제어되므로, 어느 한 Relayer라도 공격 데이터를 제출하여 전체 공격 절차를 완료할 수 있습니다.
패치된 코드는 path를 입력받아 safeGetItemByIndex 함수를 사용해 MPT의 다음 단계 hashRoot를 안전하게 가져오도록 하여, hashRoot가 현재 proofBytes 내에 존재함을 보장함으로써 MPT 검증이 올바르게 수행되도록 합니다.
이번에 취약점이 발견된 코드는 LayerZero 프로토콜의 핵심인 MPT 트랜잭션 검증 부분으로, LayerZero 자체뿐 아니라 상위 프로토콜(예: Stargate)의 정상 작동을 위한 기반이 되는 요소입니다. LayerZero 측에서 이미 명백한 취약점은 수정했지만, 여전히 다른 공격 경로가 존재할 가능성은 배제할 수 없습니다. 더불어 LayerZero 프로젝트의 핵심 컨트랙트 대부분은 여전히 EOA에 의해 제어되고 있으며, 멀티서명이나 타임락(Time Lock) 메커니즘을 도입하지 않은 상태입니다. 이러한 특권 EOA의 개인키가 유출될 경우, 상위 프로토콜의 모든 자산에 피해가 발생할 수 있습니다.
이에 Cobo 블록체인 보안 팀은 투자자들에게 새로운 프로젝트의 리스크에 주의할 것을 당부하며, LayerZero 팀에게는 스마트 컨트랙트 코드에 대한 심층적인 보안 감사를 진행하는 동시에, 가능한 빠른 시일 내에 현재 EOA가 보유한 특권을 멀티서명 또는 타임락 컨트랙트로 이전하여 공격 노출 면을 최소화할 것을 촉구합니다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














