Дослідження MoveBit від BitsLab | Belobog: фреймворк для фузз-тестування Move, орієнтований на реальні атаки
Автор: BitsLab
Move як мова, яку не можна ігнорувати розробникам Web3, завдяки своїй суворій типізації та семантиці ресурсів, є надзвичайно "жорсткою" у питаннях володіння активами, незаконного переказу та конкурентного доступу до даних.
Екосистеми Sui, Aptos та інші розміщують все більше ключових активів і основних протоколів на Move саме через основні характеристики цієї мови, які дозволяють створювати безпечніші та менш ризиковані смарт-контракти.
Однак у нашій довгостроковій практиці аудиту та захисту ми помітили, що значна частина складних проблем виникає не у "синтаксичних помилках" чи "невідповідності типів", а на більш складному, реальному системному рівні — при міжмодульній взаємодії, припущеннях щодо прав доступу, межах стану машини, а також у тих послідовностях викликів, де кожен крок виглядає логічно, але в комбінації може бути використаний зловмисниками.
Саме тому, навіть якщо Move має більш досконалу парадигму безпеки, в його екосистемі все одно траплялися значні атаки. Очевидно, що дослідження безпеки Move потребує подальшого розвитку.
Ми виявили одну ключову проблему: у Move відсутній ефективний інструмент для fuzzing-тестування. Через суворі обмеження Move традиційний fuzzing смарт-контрактів стикається з серйозною проблемою: створення "типово коректних" і "семантично досяжних" послідовностей транзакцій є дуже складним. Якщо вхідні дані недостатньо точні, виклик не відбудеться; якщо виклик неможливий, не можна покрити глибокі гілки чи досягти критичних станів, і, відповідно, легко пропустити справжні шляхи до вразливостей.
Виходячи з цієї довготривалої проблеми, ми у співпраці з академічною дослідницькою командою спільно завершили та опублікували результати дослідження:
«Belobog: Move Language Fuzzing Framework For Real-World Smart Contracts»
arXiv:2512.02918 (препринт)
Ця стаття наразі опублікована на arXiv як препринт, що дозволяє спільноті швидше ознайомитися з прогресом дослідження та надати відгуки. Ми подали цю роботу на PLDI’26 і чекаємо на процес peer review. Після підтвердження результатів подання та завершення рецензування ми одразу повідомимо про подальший прогрес.
Зробити Fuzzing дійсно ефективним для Move: від випадкових спроб до типового спрямування
Основна ідея Belobog дуже проста: якщо типова система Move є її базовим обмеженням, то і fuzzing має використовувати типи як навігацію, а не як перешкоду.
Традиційні підходи часто покладаються на випадкову генерацію та мутацію, але для Move це швидко призводить до великої кількості невалідних зразків: невідповідність типів, недосяжність ресурсів, неможливість правильно сформувати параметри, блокування у ланцюжку викликів — у підсумку ви отримуєте не тестове покриття, а купу "невдалих стартів".
Метод Belobog більше схожий на додавання "карти" для Fuzzer. Він виходить із типової системи Move, будує type graph на основі типових семантик цільового контракту, а потім генерує або мутує послідовності транзакцій на основі цієї карти. Іншими словами, це не сліпе поєднання викликів, а побудова більш логічних, виконуваних і здатних проникати глибше у простір станів комбінацій викликів згідно з типовими зв’язками.
Для досліджень безпеки така зміна приносить не "більш складний алгоритм", а дуже просту, але ключову перевагу:
Вищий відсоток валідних зразків, ефективніше дослідження, а також більша ймовірність досягти глибоких шляхів, де часто ховаються реальні вразливості.
В умовах складних обмежень: Belobog впроваджує Concolic Execution для "відкриття дверей"
У реальних Move-контрактах ключова логіка часто оточена численними перевірками, твердженнями та обмеженнями. Якщо покладатися лише на традиційну мутацію, легко "застрягти на порозі": умови не виконуються, у гілки не потрапити, стану не досягти.
Щоб вирішити цю проблему, Belobog додатково розробив і реалізував concolic execution (змішане виконання: конкретне виконання + символьний аналіз). Простіше кажучи:
З одного боку, він зберігає "працездатність" конкретного виконання, а з іншого — використовує символьний аналіз для цілеспрямованого наближення до умов гілок, що дозволяє ефективніше долати складні перевірки та поглиблювати покриття.
Це особливо важливо для екосистеми Move, оскільки "відчуття безпеки" Move-контрактів часто базується на багаторівневих обмеженнях, а справжні проблеми зазвичай приховані у проміжках між цими обмеженнями. Мета Belobog — просунути тестування ближче до цих проміжків.
Відповідність реальному світу: не просто запуск demo, а наближення до реальних шляхів атак
Ми не хочемо, щоб такі роботи обмежувалися лише "успішним запуском demo". Оцінка Belobog спрямована безпосередньо на реальні проекти та реальні висновки щодо вразливостей. Згідно з результатами експериментів у статті: Belobog був оцінений на 109 реальних проектах Move смарт-контрактів, і результати показали, що Belobog здатен виявити 100% критичних вразливостей та 79% основних вразливостей, підтверджених ручним аудитом експертів з безпеки.
Ще важливіше: Belobog здатен відтворити повноцінні атаки (full exploits) у реальних подіях на ланцюгу без використання попередніх знань про вразливості. Ця здатність цінна тим, що вона ближча до реальних сценаріїв захисту: зловмисники досягають успіху не через "помилку однієї функції", а через повний шлях і еволюцію стану.
Мета цієї роботи — не просто "створити інструмент"
Ця стаття варта уваги не лише тому, що пропонує нову платформу, а й тому, що вона демонструє більш прагматичний підхід: абстрагування практичного досвіду безпеки у повторювані методи та їх реалізація у перевірюваних інженерних рішеннях.
Ми вважаємо, що значення Belobog не у "ще одному Fuzzer", а у тому, що він робить Fuzzing для Move більш реалістичним — здатним проникати, досліджувати глибше та наближатися до реальних шляхів атак. Belobog не є закритим інструментом для обмеженого кола експертів з безпеки, а є developer-friendly фреймворком: він максимально знижує поріг входу, дозволяючи розробникам інтегрувати безпекове тестування у звичний процес розробки, а не залишати Fuzzing як разову чи постфактум задачу.
Ми також плануємо випустити Belobog у відкритому доступі, сподіваючись, що він стане інфраструктурою, яку спільнота зможе використовувати, розширювати та розвивати, а не залишиться експериментальним проектом на "інструментальному рівні".
Стаття (препринт):
(Ця робота також подана на PLDI’26, очікує рецензування.)
Про MoveBit
MoveBit (Мобі Безпека), дочірній бренд BitsLab, — це компанія з блокчейн-безпеки, що спеціалізується на екосистемі Move. Вона першою впровадила формальну верифікацію, щоб зробити екосистему Move найбезпечнішою Web3-екосистемою. MoveBit вже співпрацює з багатьма відомими проектами по всьому світу та надає партнерам комплексні послуги з аудиту безпеки. Команда MoveBit складається з провідних науковців та лідерів галузі безпеки з 10-річним досвідом, які публікували свої дослідження на топових міжнародних конференціях з безпеки, таких як NDSS, CCS. Вони також є одними з найперших учасників екосистеми Move та разом із розробниками Move встановлюють стандарти для безпечних Move-додатків.
Відмова від відповідальності: зміст цієї статті відображає виключно думку автора і не представляє платформу в будь-якій якості. Ця стаття не повинна бути орієнтиром під час прийняття інвестиційних рішень.
Вас також може зацікавити
DoorDash запускає Zesty — соціальний додаток з AI для відкриття нових ресторанів




