Wasmi
WebAssembly (WASM) Interpreter
Critical / High
Medium
Low / Informative
Report files
Audit lifecycle
Public reports represent completed engagements with finalized deliverables.
Completed
Scheduled
Scope, timeline, and review plan were agreed.
Completed
In Progress
Manual review and verification work were carried out.
Current stage
Completed
The engagement wrapped with a published final report.
Executive Summary
High-level assessment and conclusions
A concise overview of the audit scope, core findings, and the key outcomes from the engagement.
Stellar Network engaged Runtime Verification Inc. to conduct a security audit of the Wasmi interpreter, which Wasmi Labs is custodian of. The objective was to review the logic and implementation of critical components of the interpreter and identify any issues that could cause erroneous or undefined behavior that may lead to exploitation or malicious interaction with the
Stellar network.
The audit was conducted over the course of 8 calendar weeks (August 21, 2024, through October 16, 2024) and focused primarily on analyzing the executor and translator crates of the interpreter, as well as the abstract relationship between Wasm and Wasmi. Given the large volume and high complexity of code comprising the interpreter, a unique approach was taken to the audit that would result in highest guarantees possible for the allocated time frame. The audit would have two surfaces of analysis, a best effort code review approaching components in order of priority, and dedicated fuzzing using a variety of fuzzers and configurations.
The Wasmi codebase is in excellent shape: Code is generally well-organized, adheres to Rust best practices and contains informative doc comments in various places, as well as explanations for particular invariants which may be unobvious.
Reports
Download the audit artifacts
Access the published PDF deliverables associated with this engagement.
PDF report 1
Wasmi_-_WebAssembly_(Wasm)_Interpreter.pdf
Download the published report for this engagement.