
Исследование от MoveBit (BitsLab) | Belobog: фреймворк для фаззинга Move, ориентированный на реальные атаки
Автор: BitsLab
Move представляет собой язык, который невозможно игнорировать разработчикам Web3: благодаря строгой системе типов и семантике ресурсов он обеспечивает высокий уровень защиты в вопросах владения активами, предотвращения несанкционированных переводов и борьбы с состояниями гонки данных.
Экосистемы Sui, Aptos и другие размещают всё больше критически важных активов и базовых протоколов на платформе Move именно благодаря ключевым характеристикам языка, позволяющим создавать более безопасные смарт-контракты с минимальными рисками.
Однако наш многолетний опыт аудита и тестирования на проникновение показывает другую картину: значительная часть сложных уязвимостей возникает не на уровне очевидных ошибок, таких как “синтаксические ошибки” или “несоответствие типов”, а в более сложных и реалистичных системных слоях — при межмодульном взаимодействии, допущениях относительно прав доступа, границах конечных автоматов, а также в последовательностях вызовов, которые по отдельности кажутся корректными, но в совокупности могут быть использованы злоумышленниками.
Именно поэтому, несмотря на наличие в Move улучшенных парадигм безопасности, в его экосистеме всё ещё происходили масштабные атаки. Очевидно, что исследования безопасности Move требуют дальнейшего развития.
Мы выявили фундаментальную проблему: для языка Move отсутствуют эффективные инструменты фаззинга (Fuzzing). Из-за жёстких ограничений Move традиционный фаззинг смарт-контрактов сталкивается со сложной задачей: генерация последовательностей транзакций, которые являются одновременно “корректными по типу” и “семантически достижимыми”, требует значительных усилий. При недостаточной точности ввода вызовы завершаются неудачей; без успешных вызовов становится невозможным покрытие глубоких ветвей кода и достижение критических состояний, из-за чего легко упускаются реальные пути эксплуатации уязвимостей.
Основываясь на этой давней проблеме, мы совместно с исследовательской командой ведущих вузов подготовили и опубликовали следующий результат:
“Belobog: Move Language Fuzzing Framework For Real-World Smart Contracts”
arXiv:2512.02918 (препринт)
Ссылка на статью: https://arxiv.org/abs/2512.02918
Данная статья временно опубликована на arXiv в формате препринта, что позволяет сообществу быстрее ознакомиться с ходом исследований и оставить обратную связь. В настоящее время мы подаём работу на конференцию PLDI’26 и ожидаем прохождения процедуры рецензирования (peer review). После получения результата рассмотрения и завершения процесса peer review мы оперативно уведомим об этом сообщество.
Как сделать так, чтобы Fuzzing действительно “работал” в Move: от случайных испытаний к типизированному направлению
Основная идея Belobog предельно проста: раз система типов выступает фундаментальным ограничением Move, то и Fuzzing должен использовать типы в качестве навигатора, а не барьера.
Традиционные подходы часто опираются на случайную генерацию и мутацию, однако в среде Move это быстро приводит к массовому появлению недействительных образцов: несоответствие типов, недоступность ресурсов, некорректная сборка параметров, узкие места в цепочках вызовов — в итоге вместо покрытия кода вы получаете набор образцов, которые терпят неудачу ещё на старте.
Метод Belobog работает скорее как “карта” для Fuzzer. Оперируя системой типов Move, он формирует для целевого контракта типовой граф (type graph), отражающий семантику типов, и на его основе генерирует или мутирует последовательности транзакций. Другими словами, он не осуществляет беспорядочное сцепление вызовов, а выстраивает логичные, полностью рабочие комбинации вызовов, обеспечивающие глубокое погружение в пространство состояний, двигаясь вдоль связей между типами.
Для исследований в области кибербезопасности такое изменение приносит не “более изощрённые алгоритмы”, а фундаментальное и критически важное преимущество:
Увеличение доли рабочих образцов, повышение эффективности поиска и рост шансов достижения глубоких путей, на которых обычно скрываются реальные уязвимости.
Преодоление сложных ограничений: Belobog внедряет Concolic Execution, чтобы “распахнуть дверь”
В реальных контрактах Move критическая логика зачастую окружена множеством проверок, утверждений и ограничений. Полагаясь исключительно на традиционную мутацию, исследователи легко упираются в эти блоки: условия никогда не выполняются, нужные ветви кода остаются недостижимыми, а необходимые состояния не наступают.
Чтобы решить эту проблему, Belobog дополнительно разработал и внедрил concolic execution (конкретное выполнение + символьный вывод в гибридном режиме). Проще говоря:
С одной стороны, он сохраняет возможность запуска конкретных примеров, а с другой использует символьный анализ для целенаправленного приближения к условиям ветвления, что позволяет более эффективно преодолевать сложные проверки и наращивать глубину покрытия кода.
Это особенно важно для экосистемы Move, поскольку “надёжность” её контрактов часто базируется на многослойных ограничениях, а настоящие проблемы скрыты именно в пересечениях этих слоёв. Задача Belobog заключается в том, чтобы выводить тестирование вплотную к этим уязвимым зонам.
Соответствие реальности: не просто демонстрация работы, а моделирование реальных векторов атак
Мы не стремимся ограничивать подобные проекты статусом “работающего демо”. Оценка Belobog напрямую ориентирована на реальные проекты и подтверждённые данные об уязвимостях. Согласно результатам эксперимента, представленным в статье, Belobog прошёл тестирование на базе 109 проектов смарт-контрактов Move из реальной среды. Результаты показали, что инструмент способен выявлять 100% критических (Critical) уязвимостей и 79% существенных (Major) уязвимостей, подтверждённых ручным аудитом специалистов по безопасности.
Заслуживает особого внимания тот факт, что Belobog способен воспроизвести полноценные эксплойты (full exploits) в ходе реальных событий в блокчейне, не опираясь на предварительные знания об уязвимостях. Ценность данной функции заключается в максимально близкой имитации условий реального киберпротивостояния: злоумышленники добиваются успеха не за счёт единичных ошибок в функциях, а используя целенаправленные цепочки вызовов и эволюцию состояний системы.
Главный посыл этой работы выходит за рамки просто “создания инструмента”
Эта статья заслуживает внимательного прочтения не только ради предложенного нового фреймворка, но и потому, что она задаёт более прагматичное направление: абстрактное представление практического опыта в области безопасности в виде повторно используемых методов с их последующей реализацией через проверяемый инженерный код.
По нашему мнению, ценность Belobog заключается не в создании очередного “Fuzzer-a”, а в том, что он делает процесс фаззинга в Move максимально приближенным к реальности: он не только запускается без сбоев, но и проникает глубоко в систему, точно отслеживая реальные векторы атак. Belobog создаётся не как закрытый инструмент для узкого круга специалистов по безопасности, а как удобный для разработчиков (developer-friendly) фреймворк: он стремится снизить порог входа, позволяя инженерам постепенно интегрировать проверку безопасности в привычный цикл разработки, а не превращать фаззинг в разовую процедуру, выполняемую задним числом.
Мы также опубликуем код Belobog в открытом доступе, надеясь, что он станет инфраструктурой, которую сообщество сможет совместно использовать, развивать и модернизировать, а не останется лишь экспериментальным проектом уровня “простого инструмента”.
Статья (препринт):
https://arxiv.org/abs/2512.02918
(Кроме того, данная работа была подана на конференцию PLDI’26 и ожидает прохождения процедуры peer review.)
О компании MoveBit
MoveBit (Моу Би Безопасность), дочерний бренд BitsLab, представляет собой компанию по обеспечению безопасности блокчейна, специализирующуюся на экосистеме Move. Внедрение формальной верификации позволило нам сделать Move самым безопасным Web3-пространством. MoveBit активно сотрудничает с ведущими мировыми проектами, предоставляя партнёрам комплексные услуги аудита безопасности. Команда MoveBit состоит из признанных экспертов по кибербезопасности из академической и корпоративной сфер с 10-летним опытом работы. Мы публикуем результаты наших исследований на ведущих международных конференциях, таких как NDSS и CCS. Кроме того, мы являемся одними из первых вкладчиков экосистемы Move и вместе с разработчиками языка формируем стандарты безопасного написания приложений на Move.
Присоединяйтесь к официальному сообществу TechFlow
Telegram:https://t.me/TechFlowDaily
X (Twitter):https://x.com/TechFlowPost
X (Twitter) EN:https://x.com/BlockFlow_News















