BitsLab MoveBit opublikował badania|Belobog: Ramy testowania fuzzowego Move ukierunkowane na rzeczywiste ataki
Autor: BitsLab
Move jako język, którego nie mogą zignorować deweloperzy Web3, wyróżnia się silnym systemem typów i semantyką zasobów, będąc bardzo „twardym” w kwestiach takich jak własność aktywów, nielegalne transfery czy wyścigi danych.
Ekosystemy takie jak Sui czy Aptos umieszczają coraz więcej kluczowych aktywów i protokołów rdzeniowych na Move, właśnie ze względu na jego kluczowe cechy, które pozwalają budować bezpieczniejsze i mniej ryzykowne smart kontrakty.
Jednak rzeczywistość, którą obserwujemy podczas długoterminowych audytów i praktyk ofensywnych/defensywnych, jest taka: znaczna część trudnych problemów nie pojawia się w oczywistych miejscach, jak „błędy składniowe” czy „niedopasowanie typów”, lecz na bardziej złożonym, rzeczywistym poziomie systemowym — interakcje między modułami, założenia dotyczące uprawnień, granice automatów stanów oraz sekwencje wywołań, które pojedynczo są rozsądne, ale w połączeniu mogą zostać wykorzystane.
Właśnie dlatego, mimo że język Move posiada bardziej zaawansowane paradygmaty bezpieczeństwa, w jego ekosystemie nadal zdarzały się poważne incydenty ataków. Oczywiste jest, że badania nad bezpieczeństwem Move muszą pójść jeszcze dalej.
Dostrzegliśmy kluczowy problem: w języku Move brakuje skutecznego narzędzia do fuzzowania (Fuzzing). Ponieważ Move ma silniejsze ograniczenia, tradycyjne fuzzowanie smart kontraktów napotyka w tym środowisku poważny problem: generowanie sekwencji transakcji, które są zarówno „poprawne typowo”, jak i „osiągalne semantycznie”, jest bardzo złożone. Jeśli dane wejściowe nie są wystarczająco precyzyjne, wywołanie nie powiedzie się; jeśli nie można wywołać, nie można pokryć głębokich gałęzi ani osiągnąć kluczowych stanów, co zwiększa ryzyko pominięcia ścieżek prowadzących do rzeczywistych luk.
W odpowiedzi na ten długoterminowy problem, we współpracy z zespołem badawczym z uczelni, wspólnie opracowaliśmy i opublikowaliśmy wyniki badań:
„Belobog: Move Language Fuzzing Framework For Real-World Smart Contracts”
arXiv:2512.02918 (preprint)
Ten artykuł jest obecnie opublikowany na arXiv jako preprint, co pozwala społeczności szybciej zapoznać się z postępami badań i przekazać opinie. Pracujemy nad zgłoszeniem tej pracy do PLDI’26 i czekamy na proces peer review. Po potwierdzeniu wyników zgłoszenia i zakończeniu recenzji, natychmiast podzielimy się dalszymi postępami.
Sprawić, by Fuzzing naprawdę „wszedł” w Move: od losowego prób i błędów do prowadzenia przez typy
Główna idea Belobog jest bardzo prosta: skoro system typów Move jest jego podstawowym ograniczeniem, to fuzzowanie również powinno traktować typy jako nawigację, a nie przeszkodę.
Tradycyjne podejścia często polegają na losowym generowaniu i mutacji, ale w Move szybko prowadzi to do powstawania dużej liczby nieprawidłowych próbek: niedopasowanie typów, nieosiągalne zasoby, nieprawidłowo skonstruowane parametry, blokady w łańcuchu wywołań — w rezultacie nie uzyskujesz pokrycia testowego, lecz „porażkę na starcie”.
Metoda Belobog przypomina wyposażenie fuzzera w „mapę”. Wychodząc od systemu typów Move, buduje dla docelowego kontraktu graf typów oparty na semantyce typów, a następnie na tej podstawie generuje lub mutuje sekwencje transakcji. Innymi słowy, nie łączy wywołań na ślepo, lecz konstruuje bardziej sensowne, wykonalne i zdolne do głębszego wejścia w przestrzeń stanów kombinacje wywołań, podążając za relacjami typów.
Dla badań nad bezpieczeństwem taka zmiana nie oznacza „bardziej efektownego algorytmu”, lecz bardzo prostą, ale kluczową korzyść:
Większy odsetek skutecznych próbek, wyższa efektywność eksploracji i większa szansa na dotarcie do głębokich ścieżek, gdzie często występują rzeczywiste luki.
W obliczu złożonych ograniczeń: Belobog wprowadza Concolic Execution, by „otworzyć drzwi”
W rzeczywistych kontraktach Move kluczowa logika jest często otoczona wieloma warstwami kontroli, asercji i ograniczeń. Jeśli polegasz tylko na tradycyjnej mutacji, łatwo utknąć na progu: warunki nigdy nie są spełnione, nie można wejść w gałęzie, nie można osiągnąć stanów.
Aby rozwiązać ten problem, Belobog zaprojektował i zaimplementował concolic execution (hybrydę wykonania konkretnego i symbolicznego). Mówiąc prosto:
Z jednej strony utrzymuje „wykonywalność” konkretnego wykonania, z drugiej wykorzystuje symboliczne wnioskowanie, by bardziej ukierunkowanie zbliżać się do warunków gałęzi, skuteczniej przebijając się przez złożone kontrole i zwiększając głębokość pokrycia.
Jest to szczególnie ważne dla ekosystemu Move, ponieważ „poczucie bezpieczeństwa” kontraktów Move często opiera się na wielowarstwowych ograniczeniach, a prawdziwe problemy zwykle kryją się w szczelinach między nimi. Celem Belobog jest przesunięcie testów właśnie w te okolice.
Dostosowanie do rzeczywistości: nie tylko demo, ale zbliżenie do rzeczywistych ścieżek ataku
Nie chcemy, by tego typu prace kończyły się na „działającym demo”. Ocena Belobog jest bezpośrednio skierowana na rzeczywiste projekty i rzeczywiste wnioski dotyczące luk. Według wyników eksperymentów opisanych w artykule: Belobog został oceniony na 109 rzeczywistych projektach smart kontraktów Move, a wyniki pokazują, że Belobog wykrył 100% krytycznych luk oraz 79% poważnych luk potwierdzonych przez audytorów bezpieczeństwa.
Co ważniejsze: Belobog, bez polegania na wcześniejszej wiedzy o lukach, potrafi odtworzyć pełne ataki (full exploits) w rzeczywistych zdarzeniach on-chain. Wartość tej umiejętności polega na tym, że jest ona bliższa rzeczywistości, z jaką mierzymy się w praktyce: atakujący nie osiągają sukcesu przez „pojedynczy błąd funkcji”, lecz przez pełną ścieżkę i ewolucję stanu.
To osiągnięcie to nie tylko „stworzenie narzędzia”
Warto przeczytać ten artykuł nie tylko dlatego, że przedstawia nowy framework, ale dlatego, że reprezentuje bardziej pragmatyczne podejście: przekształcenie doświadczenia z pierwszej linii bezpieczeństwa w powtarzalne metody i wdrożenie ich w sprawdzalnej inżynierii.
Uważamy, że znaczenie Belobog nie polega na tym, że to „kolejny fuzzer”, lecz na tym, że sprawia, iż fuzzing w Move jest bliższy rzeczywistości — może wejść, może zajść głęboko i lepiej odzwierciedla rzeczywiste ścieżki ataku. Belobog nie jest zamkniętym narzędziem zaprojektowanym dla wąskiej grupy ekspertów ds. bezpieczeństwa, lecz frameworkiem przyjaznym dla deweloperów: maksymalnie obniża próg wejścia, pozwalając deweloperom na ciągłe wprowadzanie testów bezpieczeństwa w znanym sobie procesie rozwoju, zamiast traktować fuzzing jako jednorazowe, późniejsze zadanie.
Planujemy również opublikować Belobog jako open source, mając nadzieję, że stanie się on infrastrukturą, którą społeczność może wspólnie wykorzystywać, rozwijać i ewoluować, a nie tylko eksperymentalnym projektem na poziomie narzędzi.
Artykuł (preprint):
(Jednocześnie praca ta jest zgłoszona do PLDI’26 i oczekuje na recenzję.)
O MoveBit
MoveBit (Mobie Security), submarka BitsLab, to firma zajmująca się bezpieczeństwem blockchain, skoncentrowana na ekosystemie Move. Dzięki pionierskiemu wykorzystaniu formalnej weryfikacji, MoveBit dąży do uczynienia ekosystemu Move najbezpieczniejszym ekosystemem Web3. MoveBit współpracował już z wieloma znanymi projektami na całym świecie, oferując partnerom kompleksowe usługi audytu bezpieczeństwa. Zespół MoveBit składa się z wybitnych ekspertów akademickich i liderów branży bezpieczeństwa, posiadających 10 lat doświadczenia oraz publikujących wyniki badań na czołowych międzynarodowych konferencjach, takich jak NDSS czy CCS. Są także jednymi z najwcześniejszych kontrybutorów ekosystemu Move, współtworząc standardy bezpiecznych aplikacji Move wraz z deweloperami Move.
Zastrzeżenie: Treść tego artykułu odzwierciedla wyłącznie opinię autora i nie reprezentuje platformy w żadnym charakterze. Niniejszy artykuł nie ma służyć jako punkt odniesienia przy podejmowaniu decyzji inwestycyjnych.
Może Ci się również spodobać
MetaMask dodaje natywne wsparcie dla Bitcoin po 10 miesiącach oczekiwania

