
We offer a specialized reverse engineering tool that accepts a compiled Soroban Smart Contract (WASM file) and produces a highly accurate and human-readable WebAssembly Text (WAT) representation, alongside compilable Rust code.
$120.0K
This submission is in response to this RFP: Soroban Specialized Reverse Engineering Tool.
What took my attention in the first place was that I work on Solang: A Solidity compiler to Soroban. Throughout my work, I have found a real need for a tool that analyses emitted Soroban WASM contracts.
What I, as an SDK dev, would do to analyze an emitted WASM contract is look at the corresponding WAT and face those challenegs:
1. Manually mapping host calls from https://github.com/stellar/rs-soroban-env/blob/main/soroban-env-common/env.json
2. If the contract does undesired behavior, I would have to trace generic WAT :)
3. If I wanted to see "how would the SDK do X functionality" I would either check the rs-soroban-sdk code base or analyze its emitted WAT as well
Traction of course cannot be proved by describing my pain points. However, since this is an RFP submission, I though this is the place to describe my pain points anyways :)
Brief Description:
Parse a WASM Soroban contract, insert Soroban related facts then emit CFG/SSA IR (via waffle).
Deliverables:
1. Parse WASM and produce WasmFacts and ParseDiagnostics.
2. Decode contractspecv0, contractmetav0, and contractenvmetav0 into SorobanFacts and MetadataDiagnostics.
3. Lift WASM to CFG/SSA IR via waffle and produce LiftedIR plus LiftDiagnostics.
4. Add baseline semantic recovery for core host calls and publish initial test vectors and scoring rules.
How to measure completion:
1. The tool should be able to print human readable waffle CFG/SSA IR
2. The tool should emit WasmFacts and ParseDiagnostics
Brief Description:
Take in waffle’s CFG+SSA IR + Soroban recovered semantics, and restructure it into a typed, AST like program with explicit control flow and ANF-style bindings.
Deliverables and how to measure completion:
The tool should be able to emit a human readable, annotated WAT with Soroban specifics.
Brief Description:
Emit compilable Rust reconstruction from HighIR, and validate quality with AST-based comparison against source.
Deliverables:
1.Rust emitter that generates compilable analysis-grade Rust.
2.AST comparison pipeline (macro-expanded + canonicalized) for source vs reconstructed Rust.
3.Final benchmark suite and report targeting >=90% reconstruction score on agreed vectors.
4.Final docs: limits, confidence interpretation, compatibility matrix.
How to Measure Completion:
Generated Rust passes cargo check on benchmark vectors.
AST comparison tool outputs per-contract and aggregate scores.
Final published report shows >=90% on agreed vectors and category breakdown (interface/structure/semantic/behavior).
We are a team of three developers from a compiler/dev tooling background:
1- Salaheldin Soliman: A software engineer currently working on the Solidity -> Soroban integration via the Solang compiler
2- Abdalla Abdelnaby: A software engineer in the university of Göttingen, with a general interest in developer tooling
3- Mo Basouny: A software engineer in the university of Göttingen, with a general interest in compiler design

No other submissions.