Skip to content

research lead: position kiln + witness as a verified-semantics runtime vs the unverified Wasmtime TCB #283

Description

@avrabe

From a focused web-research pass.

The opening: the "Wasm sandboxes untrusted agent code" wave (e.g. Microsoft Wassette, https://github.com/microsoft/wassette) rests on Wasmtime, which is not formally verified — and on 9 Apr 2026 Wasmtime shipped 12 advisories incl. a real sandbox escape, CVE-2026-34971 (Cranelift aarch64 miscompilation → guest arbitrary host read/write: https://advisories.gitlab.com/pkg/cargo/wasmtime/CVE-2026-34971/ , https://bytecodealliance.org/articles/wasmtime-security-advisories).

The narrative for kiln + witness: a runtime whose semantics are checked against WasmCert-Coq (Wasm 2.0, 100% conformance — https://github.com/WasmCert/WasmCert-Coq) + witness providing MC/DC structural-coverage evidence over a formal semantics is a credible verified alternative to Wasmtime-for-untrusted-code. Standard DO-178C tooling has no MC/DC-on-Wasm — that's a witness lead too.

Concrete first step: validate kiln's interpreter semantics against WasmRef-Coq / the Coq spec rather than an ad-hoc semantics.

(Tracking issue from research; not scoped to a release yet.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions