
BitsLab 산하 MoveBit 연구 발표|Belobog: 실제 공격을 위한 Move 퍼지 테스트 프레임워크
저자: BitsLab
Move는 자산 소유권, 불법 이전, 데이터 경쟁 등에서 강력한 타입 시스템과 리소스 의미론을 갖춘 Web3 개발자가 반드시 주목해야 할 언어이다.
Sui, Aptos 등의 생태계가 점점 더 많은 핵심 자산과 핵심 프로토콜을 Move 위에 구축하는 이유도 바로 Move 언어의 핵심 특성 덕분에 더욱 안전하고 리스크가 적은 스마트 계약을 만들 수 있기 때문이다.
하지만 장기적인 감사 및 공격 방어 실무를 통해 우리는 현실을 목격했다. 복잡한 문제들의 상당 부분이 "구문 오류"나 "타입 불일치"처럼 명백한 위치에서 발생하는 것이 아니라, 모듈 간 상호작용, 권한 가정, 상태 머신 경계, 그리고 각 단계별로 보면 모두 합리적이지만 조합되면 악용될 수 있는 호출 시퀀스와 같은 더욱 복잡하고 현실적인 시스템 수준에서 발생한다는 것이다.
그렇기 때문에 Move 언어가 더욱 완벽한 보안 패러다임을 갖추고 있음에도 불구하고, 해당 생태계 내에서도 영향력 있는 중대한 공격 사건들이 여전히 발생했다. 분명히 Move의 보안 연구는 한층 더 진전되어야 한다.
우리는 핵심적인 문제 하나를 포착했다. Move 언어에는 효과적인 퍼징(Fuzzing) 도구가 부족하다는 점이다. Move는 제약이 더 강하기 때문에 기존 스마트 계약 퍼징 기법은 Move 환경에서 난관에 직면한다. 바로 "타입이 맞는" 동시에 "의미상 도달 가능한" 거래 시퀀스를 생성하는 것이 극도로 복잡하다는 것이다. 입력이 정밀하지 않으면 호출 자체가 실패하고, 호출이 되지 않으면 깊은 분기로의 커버리지도, 핵심 상태 접근도 불가능하며, 실제로 취약점을 유발할 수 있는 경로를 놓칠 가능성이 훨씬 높아진다.
이 오랜 숙제를 바탕으로 우리는 대학 연구팀과 협력하여 공동으로 연구 성과를 완성하고 발표하였다:
《Belobog: 실세계 스마트 계약을 위한 Move 언어 퍼징 프레임워크》
arXiv:2512.02918 (프리프린트)
논문 링크: https://arxiv.org/abs/2512.02918
이 논문은 현재 arXiv에 프리프린트(preprint) 형태로 게시되어 있으며, 그 의의는 커뮤니티가 연구 진행 상황을 빠르게 확인하고 피드백을 받을 수 있도록 하기 위함이다. 현재 우리는 이 연구를 PLDI'26에 투고 중이며 동료 평가(Peer Review) 과정을 기다리고 있다. 투고 결과가 확정되고 동료 평가가 완료되는 즉시 관련 진전 사항을 최우선적으로 공유할 예정이다.
퍼징이 진짜로 Move 안으로 들어가도록 하기: 무작위 시행착오에서 타입 기반 안내로
Belobog의 핵심 아이디어는 매우 명확하다. Move의 타입 시스템이 그 기반 제약이라면, 퍼징 역시 타입을 장애물이 아니라 항법(Navigation) 도구로 삼아야 한다는 것이다.
기존 방식은 대부분 무작위 생성과 변이에 의존하지만, Move에서는 이 방법이 금방 수많은 무효 샘플을 만들어낸다. 타입 불일치, 리소스 접근 불가, 매개변수 구성 실패, 호출 체인 상의 차단 지점 등으로 인해 결국 얻는 것은 테스트 커버리지가 아니라 수많은 "출발하자마자 실패" 사례들뿐이다.
Belobog의 접근법은 퍼저(Fuzzer)에게 일종의 "지도"를 장착하는 것과 같다. Move의 타입 시스템을 출발점으로 삼아 대상 계약에 대해 타입 의미 기반 type graph를 구성하고, 이 그래프를 기반으로 거래 시퀀스를 생성하거나 변이시킨다. 즉, 무작정 호출을 연결하는 것이 아니라 타입 관계를 따라 더 합리적이고 실행 가능하며 상태 공간을 더 깊이 탐색할 수 있는 호출 조합을 구성하는 것이다.
보안 연구 측면에서 이러한 변화가 가져오는 것은 "더 화려한 알고리즘"이 아니라 매우 소박하지만 중요한 이득이다:
유효 샘플 비율이 더 높아지고, 탐색 효율이 증가하며, 실제 취약점이 자주 나타나는 깊은 경로에 도달할 가능성이 훨씬 높아진다.
복잡한 제약에 대응: Belobog가 Concolic Execution으로 "문을 여는" 방법
실제 Move 계약에서는 핵심 로직이 종종 여러 겹의 검사, 어서션(Assertion), 제약 조건에 둘러싸여 있다. 기존의 변이 방식만으로는 문 앞에서 계속 부딪히기 쉽다. 조건은 결코 만족되지 않고, 분기는 들어가지 못하며, 상태에도 도달할 수 없다.
이 문제를 해결하기 위해 Belobog는 concolic execution(혼합 실행: 구체적 실행 + 기호 추론)을 설계하고 구현하였다. 간단히 말하면:
실행 가능한 구체적 실행을 유지하면서 동시에 기호 추론을 활용해 분기 조건을 더욱 방향성 있게 근접함으로써 복잡한 검사를 효과적으로 통과하고 커버리지 깊이를 추진하는 것이다.
이는 Move 생태계에서 특히 중요하다. Move 계약의 "안전감"은 종종 다중 제약에 기반하지만, 진짜 문제가 생기는 곳은 바로 이런 제약들이 얽힌 틈새 속이다. Belobog가 하고자 하는 것은 바로 이러한 틈새 근처까지 테스트를 밀고 나가는 것이다.
실제 세계와 맞추기: 데모를 통과하는 것이 아니라 실제 공격 경로에 근접하기
우리는 이런 연구가 단순히 "데모를 통과한다"는 수준에 머무르기를 원하지 않는다. Belobog의 평가는 실제 프로젝트와 실제 취약점 결론을 직접 대상으로 한다. 논문의 실험 결과에 따르면, Belobog는 109개의 실제 Move 스마트 계약 프로젝트에서 평가되었으며, 인공 보안 전문가의 감사로 확인된 Critical 취약점 100%와 Major 취약점의 79%를 탐지할 수 있었다.
더 주목할 점은, Belobog가 선험적인 취약점 지식 없이도 실제 체인 상의 사건에서 완전한 공격(full exploits)을 재현할 수 있다는 점이다. 이러한 능력의 가치는 우리가 현실의 공격 방어에서 직면하는 상황과 더 가깝다는 데 있다. 공격자는 "단일 함수 오류"로 성공하는 것이 아니라, 완전한 경로와 상태 진화를 통해 성공하는 것이다.
이 연구가 말하고자 하는 것은 단지 "도구 하나를 만들었다"는 것 이상이다
이 논문이 읽을 가치 있는 이유는 새로운 프레임워크를 제안했기 때문만이 아니라, 현장의 보안 경험을 재사용 가능한 방법으로 추상화하고 검증 가능한 엔지니어링 구현을 통해 현실화하는 더 실용적인 방향성을 나타내기 때문이다.
우리는 Belobog의 의미가 "또 하나의 퍼저"에 있지 않다고 본다. 그것보다는 퍼징이 Move에서 현실에 더 가까워질 수 있도록, 즉 실제로 들어가고, 깊이 파고들며, 실제 공격 경로에 더욱 근접할 수 있도록 한다는 점에 그 의미가 있다. Belobog는 소수의 보안 전문가만을 위한 폐쇄적 도구가 아니라 개발자 친화적인 프레임워크이다. 사용 장벽을 최대한 낮춰 개발자가 익숙한 개발 프로세스 속에서 지속적으로 보안 테스트를 도입할 수 있도록 하며, 퍼징을 일회적이거나 사후에 수행하는 작업이 되지 않게 한다.
또한 우리는 Belobog를 오픈소스로 공개할 예정이며, 이 도구가 단순한 실험 프로젝트에 머무르지 않고 커뮤니티가 함께 사용하고 확장하며 진화시킬 수 있는 인프라가 되기를 기대한다.
논문(프리프린트):
https://arxiv.org/abs/2512.02918
(동시에 해당 연구는 PLDI'26에 투고되어 있으며 동료 평가를 기다리고 있다.)
MoveBit 소개
MoveBit(모비 보안)은 BitsLab 산하 브랜드로서 Move 생태에 특화된 블록체인 보안 회사로, 형식적 검증(formal verification)을 선제적으로 활용하여 Move 생태를 가장 안전한 Web3 생태계로 만들고자 한다. MoveBit는 이미 전 세계 여러 유명 프로젝트들과 협력하며 파트너들에게 포괄적인 보안 감사 서비스를 제공해왔다. MoveBit 팀은 학계의 보안 거물과 산업계의 보안 리더들로 구성되어 있으며 10년간의 보안 경험을 보유하고 있으며, NDSS, CCS 등의 최정상급 국제 보안 학술 대회에서 보안 연구 성과를 발표한 바 있다. 또한 그들은 Move 생태계의 초기 기여자로서 Move 개발자들과 함께 안전한 Move 애플리케이션의 표준을 제정해왔다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














