fix: harden Wasmtime integration - #14
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
1ebef38 to
2e96b35
Compare
I disagree on rejecting wasm files for having a forbidden instruction. Changes I agree with were ported into genlayerlabs/genvm-manager#34 |
Summary
Storeconstructors and upstream test compatibilityWhy
The previous integration combined an old Wasmtime pin, runtime-derived validation features, unsafe loading of mutable precompiled artifacts, a fork-wide
StoreAPI break, and fingerprint collisions when multiple instances shared a module name. In a consensus-critical executor these are security, determinism, compatibility, and observability risks.The initial implementation targeted 42.0.2. A live advisory check identified GHSA-p8xm-42r7-89xg / RUSTSEC-2026-0114, for which no fixed 42.x release exists. This PR therefore uses 43.0.2, the closest patched line. OSV checks for both version 43.0.2 and its exact upstream commit return no published advisories.
Validation
cargo fmt --manifest-path executor/Cargo.toml -- --checkcargo test -p wasmtime --tests: complete upstream Wasmtime test suite passed (158 tests passed, 1 ignored)Review notes
The on-disk precompile command now fails closed until artifacts have immutable, authenticated provenance. The in-memory compiled-module cache remains enabled.