Autor: BitsLab
Move ist eine Sprache, die Web3-Entwickler nicht ignorieren können. Mit ihrem starken Typsystem und Ressourcensemantik ist sie in Bezug auf Asset-Eigentum, illegale Übertragungen und Datenkonkurrenz besonders „hardcore“.
Ökosysteme wie Sui und Aptos bringen immer mehr Schlüssel-Assets und Kernprotokolle auf Move, was ebenfalls auf die Kerneigenschaften der Move-Sprache zurückzuführen ist, die es ermöglichen, sicherere und risikoärmere Smart Contracts zu erstellen.
In unserer langjährigen Audit- und Angriff-/Verteidigungspraxis haben wir jedoch festgestellt, dass viele der schwierigsten Probleme nicht an offensichtlichen Stellen wie „Syntaxfehlern“ oder „Typinkompatibilitäten“ auftreten, sondern auf komplexeren, realistischeren Systemebenen – wie der Interaktion zwischen Modulen, Annahmen über Berechtigungen, Grenzen von Zustandsmaschinen sowie Aufrufsequenzen, die einzeln sinnvoll erscheinen, aber in Kombination ausgenutzt werden können.
Gerade deshalb kommt es trotz des fortschrittlichen Sicherheitsparadigmas der Move-Sprache im Ökosystem weiterhin zu schwerwiegenden Angriffen. Offensichtlich muss die Sicherheitsforschung zu Move noch weiter vorangetrieben werden.
Wir haben ein Kernproblem erkannt: In der Move-Sprache fehlt ein effektives Fuzzing-Tool. Aufgrund der stärkeren Einschränkungen von Move steht das traditionelle Smart-Contract-Fuzzing im Move-Kontext vor einer großen Herausforderung: Es ist äußerst komplex, Transaktionssequenzen zu generieren, die sowohl „typkorrekt“ als auch „semantisch erreichbar“ sind. Sind die Eingaben nicht präzise genug, kann der Aufruf nicht ausgeführt werden; ohne Aufruf können tiefe Verzweigungen und kritische Zustände nicht abgedeckt werden, wodurch die wirklich ausnutzbaren Schwachstellenpfade leicht übersehen werden.
Basierend auf diesem langjährigen Schmerzpunkt haben wir gemeinsam mit einem universitären Forschungsteam folgende Arbeit abgeschlossen und veröffentlicht:
《Belobog: Move Language Fuzzing Framework For Real-World Smart Contracts》
arXiv:2512.02918 (Preprint)
Paper-Link:
Dieses Paper ist derzeit als Preprint auf arXiv veröffentlicht, um der Community einen schnelleren Einblick in den Forschungsfortschritt und Feedback zu ermöglichen. Wir reichen diese Arbeit derzeit bei der PLDI’26 ein und warten auf das Peer-Review-Verfahren. Nach Bestätigung des Einreichungsergebnisses und Abschluss des Peer-Reviews werden wir die entsprechenden Fortschritte umgehend mitteilen.
Fuzzing wirklich in Move „zum Laufen bringen“: Von zufälligem Ausprobieren zu typgesteuerter Navigation
Der Kernansatz von Belobog ist sehr direkt: Da das Typsystem von Move die grundlegende Einschränkung ist, sollte Fuzzing Typen als Wegweiser und nicht als Hindernis betrachten.
Traditionelle Methoden verlassen sich oft auf zufällige Generierung und Mutation, was bei Move schnell zu einer großen Anzahl ungültiger Samples führt: Typinkompatibilitäten, nicht erreichbare Ressourcen, Parameter, die nicht korrekt konstruiert werden können, Blockaden in der Aufrufkette – am Ende erhält man keine Testabdeckung, sondern eine Menge „Fehlschläge beim Start“.
Die Methode von Belobog ist eher so, als würde man dem Fuzzer eine „Karte“ geben. Ausgehend vom Typsystem von Move wird für den Zielvertrag ein typsemantischer Type Graph erstellt, auf dessen Basis Transaktionssequenzen generiert oder mutiert werden. Anders gesagt: Es werden nicht blind Aufrufe aneinandergereiht, sondern entlang der Typbeziehungen sinnvollere, ausführbare und tiefere Zustandsraum-Kombinationen konstruiert.
Für die Sicherheitsforschung bedeutet diese Veränderung keinen „ausgefalleneren Algorithmus“, sondern einen sehr pragmatischen, aber entscheidenden Vorteil:
Ein höherer Anteil gültiger Samples, effizientere Exploration und eine größere Chance, die tiefen Pfade zu erreichen, auf denen echte Schwachstellen häufig auftreten.
Umgang mit komplexen Einschränkungen: Belobog führt Concolic Execution ein, um „die Tür zu öffnen“
In echten Move-Verträgen ist die Schlüssellogik oft von mehreren Schichten an Prüfungen, Assertions und Einschränkungen umgeben. Verlässt man sich nur auf traditionelle Mutationen, stößt man leicht immer wieder an die Tür: Bedingungen werden nie erfüllt, Verzweigungen nie erreicht, Zustände nie erreicht.
Um dieses Problem zu lösen, hat Belobog zusätzlich die concolic execution (eine Kombination aus konkreter Ausführung und symbolischer Ableitung) entwickelt und implementiert. Einfach gesagt:
Einerseits wird die „ausführbare“ konkrete Ausführung beibehalten, andererseits nutzt man symbolische Ableitung, um zielgerichteter an die Verzweigungsbedingungen heranzukommen und so komplexe Prüfungen effektiver zu durchdringen und die Abdeckungstiefe zu erhöhen.
Gerade im Move-Ökosystem ist dies besonders wichtig, da das „Sicherheitsgefühl“ von Move-Verträgen oft auf mehreren Schichten von Einschränkungen basiert, während die eigentlichen Probleme oft in den Lücken zwischen diesen Einschränkungen verborgen sind. Belobog will die Tests genau in diese Lücken treiben.
Anpassung an die reale Welt: Nicht nur Demos ausführen, sondern reale Angriffspfade nachbilden
Wir möchten nicht, dass diese Arbeit nur auf „Demo läuft“ beschränkt bleibt. Die Bewertung von Belobog richtet sich direkt an reale Projekte und echte Schwachstellen. Laut den Experimenten im Paper: Belobog wurde an 109 realen Move-Smart-Contract-Projekten evaluiert, und die Ergebnisse zeigen, dass Belobog 100% der von menschlichen Sicherheitsexperten bestätigten kritischen Schwachstellen und 79% der Major-Schwachstellen erkennen kann.
Bemerkenswert ist auch: Belobog kann ohne Vorwissen über Schwachstellen vollständige Angriffe (full exploits) in realen On-Chain-Ereignissen reproduzieren. Der Wert dieser Fähigkeit liegt darin, dass sie näher an den realen Angriffsszenarien ist: Angreifer nutzen nicht „Fehler in einzelnen Funktionen“, sondern komplette Pfade und Zustandsentwicklungen.
Was diese Arbeit ausdrücken möchte, ist mehr als nur „ein Tool gebaut zu haben“
Dieses Paper ist lesenswert, nicht nur weil es ein neues Framework vorschlägt, sondern weil es eine pragmatischere Richtung repräsentiert: Praxiserfahrung aus der Sicherheit in wiederverwendbare Methoden zu abstrahieren und diese durch überprüfbare technische Implementierung umzusetzen.
Wir glauben, dass die Bedeutung von Belobog nicht in „noch einem Fuzzer“ liegt, sondern darin, dass Fuzzing auf Move näher an die Realität heranrückt – es kann ausgeführt werden, dringt tief ein und nähert sich echten Angriffspfaden an. Belobog ist kein geschlossenes Tool für wenige Sicherheitsexperten, sondern ein developer-friendly Framework: Es senkt die Einstiegshürde, sodass Entwickler kontinuierlich Sicherheitstests in ihren gewohnten Entwicklungsprozess integrieren können, anstatt Fuzzing als einmalige, nachträgliche Aufgabe zu betrachten.
Wir werden Belobog auch als Open Source veröffentlichen, in der Hoffnung, dass es zu einer Infrastruktur wird, die von der Community gemeinsam genutzt, erweitert und weiterentwickelt werden kann, anstatt ein experimentelles Projekt auf „Tool-Ebene“ zu bleiben.
Paper (Preprint):
(Diese Arbeit wird gleichzeitig bei PLDI’26 eingereicht und wartet auf Peer Review.)
Über MoveBit
MoveBit (Mobi Security), eine Untermarke von BitsLab, ist ein auf die Move-Ökologie spezialisiertes Blockchain-Sicherheitsunternehmen, das durch den frühzeitigen Einsatz von formaler Verifikation die Move-Ökologie zum sichersten Web3-Ökosystem macht. MoveBit hat bereits mit zahlreichen bekannten Projekten weltweit zusammengearbeitet und bietet seinen Partnern umfassende Sicherheits-Audit-Services. Das MoveBit-Team besteht aus führenden Sicherheitsexperten aus Wissenschaft und Industrie mit 10 Jahren Erfahrung und hat Forschungsergebnisse auf Top-Konferenzen wie NDSS und CCS veröffentlicht. Zudem gehören sie zu den frühesten Beitragsleistenden im Move-Ökosystem und haben gemeinsam mit Move-Entwicklern Standards für sichere Move-Anwendungen entwickelt.
