Gunnar

nordisk/heimdall

fuzz/Cargo.toml

[package]
name = "heimdall-fuzz"
description = "Heimdall is a defensive sandbox: cargo-fuzz targets for its parsers."
version = "0.0.0"
publish = false
edition = "2021"
license = "AGPL-3.0-only"

[package.metadata]
cargo-fuzz = true

# Its own workspace: cargo-fuzz builds with nightly sanitizer flags.
[workspace]
members = ["."]

[dependencies]
libfuzzer-sys = "0.4"
heimdall-core = { path = "../crates/heimdall-core" }
heimdall-run = { path = "../crates/heimdall-run" }
heimdall-wasm = { path = "../crates/heimdall-wasm" }
# The wasm targets sign their guests exactly as a release door signs holger's
# plugins (throwaway CA, nothing secret) and build them from WAT.
guest-host = { version = "0.2.1", default-features = false, features = ["verify-modules"] }
blake3 = "1"
wat = "1.258.3"
wit-component = "0.258.3"
wit-parser = "0.258.3"

[[bin]]
name = "policy_file"
path = "fuzz_targets/policy_file.rs"
test = false
doc = false
bench = false

[[bin]]
name = "output_name"
path = "fuzz_targets/output_name.rs"
test = false
doc = false
bench = false

[[bin]]
name = "signed_result_wire"
path = "fuzz_targets/signed_result_wire.rs"
test = false
doc = false
bench = false

[[bin]]
name = "result_encoding"
path = "fuzz_targets/result_encoding.rs"
test = false
doc = false
bench = false

[[bin]]
name = "pinned_key_text"
path = "fuzz_targets/pinned_key_text.rs"
test = false
doc = false
bench = false

[[bin]]
name = "verify_result_file"
path = "fuzz_targets/verify_result_file.rs"
test = false
doc = false
bench = false

[[bin]]
name = "wasm_guest_load"
path = "fuzz_targets/wasm_guest_load.rs"
test = false
doc = false
bench = false

[[bin]]
name = "wasm_emit_file"
path = "fuzz_targets/wasm_emit_file.rs"
test = false
doc = false
bench = false

# Writes the checked-in seeds for the wasm targets:
#   cargo run --manifest-path fuzz/Cargo.toml --example wasm_seeds
[[example]]
name = "wasm_seeds"
path = "common/wasm_seeds.rs"