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 как preprint (препринт), что позволяет сообществу быстрее ознакомиться с прогрессом исследований и предоставить обратную связь. Мы подаем эту работу на конференцию PLDI’26 и ожидаем процесса рецензирования. После подтверждения принятия и завершения рецензирования мы незамедлительно сообщим о соответствующих результатах.

Заставить фаззинг действительно «зайти» в Move: от случайных проб к управлению типами
Основная идея Belobog проста: если типовая система Move является его базовым ограничением, то фаззинг должен использовать типы как навигатор, а не как препятствие.

Традиционные подходы часто полагаются на случайную генерацию и мутацию, но в случае Move это быстро приводит к большому количеству недействительных образцов: несоответствие типов, недостижимость ресурсов, невозможность корректного построения параметров, наличие узких мест в цепочке вызовов — в итоге вы получаете не покрытие тестами, а кучу «сбоев на старте».
Метод Belobog больше похож на установку «карты» для Fuzzer'а. Он исходит из типовиой системы Move, строит для целевого контракта type graph, основанный на типовиой семантике, и затем на основе этого графа генерирует или мутирует последовательности транзакций. Другими словами, он не слепо соединяет вызовы, а конструирует более разумные, исполняемые и легче проникающие в пространство состояний комбинации вызовов, следуя типовим отношениям.
Для исследований безопасности это изменение приносит не «более причудливый алгоритм», а очень простую, но ключевую выгоду:
более высокая доля действительных образцов, более высокая эффективность исследования и больше шансов достичь глубоких путей, где часто появляются реальные уязвимости.
Против сложных ограничений: Belobog внедряет Concolic Execution, чтобы «открыть дверь»
В реальных контрактах Move ключевая логика часто окружена层层 проверками, утверждениями и ограничениями. Если полагаться только на традиционную мутацию, легко биться о дверь: условия никогда не выполняются, ветви никогда не проходятся, состояния никогда не достигаются.
Чтобы решить эту проблему, Belobog дополнительно разработал и реализовал concolic execution (гибридное выполнение: конкретное выполнение + символьные вычисления). Проще говоря:
С одной стороны, он сохраняет «рабочее» конкретное выполнение, с другой — использует символьные вычисления для более целенаправленного приближения к этим условиям ветвления, тем самым более эффективно проникая сквозь сложные проверки и увеличивая глубину покрытия.
Это особенно важно для экосистемы Move, потому что «чувство безопасности» контрактов Move часто строится на многослойных ограничениях, а реальные проблемы часто скрываются в щелях между этими ограничениями. Belobog стремится продвинуть тестирование ближе к этим щелям.
Соответствие реальному миру: не запуск демо, а приближение к реальным путям атак
Мы не хотим, чтобы такая работа останавливалась на «запуске демо». Оценка Belobog напрямую ориентирована на реальные проекты и реальные выводы об уязвимостях. Согласно экспериментальным результатам, приведенным в статье:Belobog был оценен на 109 реальных проектах смарт-контрактов Move. Результаты экспериментов показывают, что Belobog способен обнаружить 100% уязвимостей уровня Critical и 79% уязвимостей уровня Major, подтвержденных аудитом экспертов по безопасности.
Что еще более важно: Belobog, не полагаясь на априорные знания об уязвимостях, способен воспроизвести полные эксплойты (full exploits) в реальных событиях в блокчейне. Ценность такой способности заключается в том, что она ближе к ситуации, с которой мы сталкиваемся в реальной атаке и защите: злоумышленники добиваются успеха не благодаря «ошибке в отдельной функции», а благодаря полному пути и эволюции состояния.
Эта работа стремится выразить не только то, что «сделан инструмент»
Эту статью стоит читать не только потому, что в ней предлагается новая框架, но и потому, что она представляет собой более прагматичное направление: абстрагирование практического опыта безопасности в методы многократного использования и их реализация в виде инженерных решений, которые можно проверить.
Мы считаем, что значение Belobog заключается не в «еще одном Fuzzer'е», а в том, что он приближает фаззинг в Move к реальности — может войти, может углубиться и也更接近 реальным путям атак. Belobog — это не закрытый инструмент для少数 экспертов по безопасности, а developer-friendly фреймворк: он максимально снижает порог вхождения, позволяя разработчикам постоянно внедрять тестирование безопасности в знакомый процесс разработки, а не превращать фаззинг в разовую, запоздалую работу.
Мы также выпустим Belobog в открытом исходном коде, надеясь, что он станет инфраструктурой, которую сообщество сможет совместно использовать, расширять и развивать, а не останется экспериментальным проектом на «уровне инструмента».
Статья (препринт): https://arxiv.org/abs/2512.02918
(Данная работа также подана на PLDI’26 и ожидает рецензирования.)
О MoveBit
MoveBit (Моби安全), дочерний бренд BitsLab, — это блокчейн-безопасностная компания, специализирующаяся на экосистеме Move, которая стремится сделать экосистему Move самой безопасной экосистемой Web3,率先 используя формальную верификацию. MoveBit уже сотрудничает со многими известными全球ными проектами и предоставляет партнерам всесторонние услуги по аудиту безопасности. Команда MoveBit состоит из ведущих экспертов по безопасности из академических кругов и лидеров индустрии безопасности с 10-летним опытом работы в области безопасности, публиковала研究成果 на ведущих международных security конференциях, таких как NDSS, CCS. Кроме того, они являются одними из самых ранних участников экосистемы Move и совместно с разработчиками Move устанавливают стандарты безопасных приложений Move.








