Developer Tool · WebAssembly · Binary Inspector · 2026 · Solo build

Wasm Scope

A forensic instrument for WebAssembly binaries: section manifest, WAT-style type signatures, import/export tables — decoded locally in 50 ms.

The problem

WebAssembly is increasingly used in browser extensions, edge functions, Rust/C toolchains, and WASM-native databases — but there is no lightweight forensic tool that lets you inspect a binary without running it. wasm-scope fills the gap: drop any .wasm file and instantly see every section (Type, Import, Function, Table, Memory, Global, Export, Code, Data, Custom), all function type signatures rendered as WAT-style strings (i32, i32) → i64, every import with its host module and kind, every export with its symbol name and index, and a full summary of the module. The entire decoder is a pure TypeScript state machine operating on the raw Uint8Array — no wabt, no wat-parser, no WASM execution, no network call.

Architecture

Key decisions

01

Zero-execution constraint

The decoder never calls WebAssembly.instantiate or WebAssembly.compile. It operates only on the raw byte array through a hand-written state machine, making it safe to inspect untrusted or malformed binaries without any sandbox risk.

02

Hand-written LEB128 and section parser instead of wabt

wabt and wat-parser add hundreds of KB of WASM binary themselves and require execution contexts. A 200-line pure TypeScript LEB128 + section iterator covers 100% of MVP-spec WASM (version 1) sections, stays entirely in the JS/TS layer, and is amenable to full TDD at the unit level.

03

WAT-style type signature rendering

Function signatures are rendered as (i32, i32) → i64 rather than raw byte arrays. This matches the WebAssembly Text Format and is immediately readable by any engineer familiar with WASM tooling, avoiding raw hex display that requires mental decoding.

04

Command/Inspect surface with sidebar + panel architecture

The UI is structured as a single-object inspector: one file, one report, multiple facets (sections, types, imports, exports, custom, summary). The sidebar gives file metadata at a glance; the tab rail gives depth on demand. This avoids the Decide/Learn hero pattern which would be wrong for a forensic instrument.

Metrics

39 / 39
TDD unit tests — RED verified, GREEN pass
zero
network calls, file uploads, or WASM executions
13
WASM section types decoded (all MVP + custom)