
Research
/Security News
Fake imToken Chrome Extension Steals Seed Phrases via Phishing Redirects
Mixed-script homoglyphs and a lookalike domain mimic imToken’s import flow to capture mnemonics and private keys.
wasm-smith
Advanced tools
wasm-smithA WebAssembly test case generator.
Always valid: All generated Wasm modules pass validation. wasm-smith
gets past your wasm parser and validator, exercising the guts of your Wasm
compiler, runtime, or tool.
Supports the full WebAssembly language: Doesn't have blind spots or unimplemented instructions.
Implements the
Arbitrary
trait: Easy to use with cargo fuzz and
libfuzzer-sys!
Deterministic: Given the same input seed, always generates the same output Wasm module, so you can always reproduce test failures.
Plays nice with mutation-based fuzzers: Small changes to the input tend to produce small changes to the output Wasm module. Larger inputs tend to generate larger Wasm modules.
cargo fuzz and libfuzzer-sysFirst, use cargo fuzz to define a new fuzz target:
$ cargo fuzz add my_wasm_smith_fuzz_target
Next, add wasm-smith to your dependencies:
$ cargo add wasm-smith
Then, define your fuzz target so that it takes arbitrary wasm_smith::Modules
as an argument, convert the module into serialized Wasm bytes via the to_bytes
method, and then feed it into your system:
// fuzz/fuzz_targets/my_wasm_smith_fuzz_target.rs
#![no_main]
use libfuzzer_sys::fuzz_target;
use wasm_smith::Module;
fuzz_target!(|module: Module| {
let wasm_bytes = module.to_bytes();
// Your code here...
});
Finally, start fuzzing:
$ cargo fuzz run my_wasm_smith_fuzz_target
Note: Also check out the
validatefuzz target defined in this repository. Using thewasmparsercrate, it checks that every module generated bywasm-smithvalidates successfully.
Install the CLI tool via cargo:
$ cargo install wasm-tools
Convert some arbitrary input into a valid Wasm module:
$ head -c 100 /dev/urandom | wasm-tools smith -o test.wasm
Finally, run your tool on the generated Wasm module:
$ my-wasm-tool test.wasm
FAQs
Unknown package
We found that wasm-smith demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Mixed-script homoglyphs and a lookalike domain mimic imToken’s import flow to capture mnemonics and private keys.

Security News
Latio’s 2026 report recognizes Socket as a Supply Chain Innovator and highlights our work in 0-day malware detection, SCA, and auto-patching.

Company News
Join Socket for live demos, rooftop happy hours, and one-on-one meetings during BSidesSF and RSA 2026 in San Francisco.