Gunnar

nordisk/heimdall

Newest commits

6579b339c4aadocs/OPENZL-WASM.md: Heimdall is a defensive sandbox — how OpenZL's decoder runs inside the verify-bundle guest, the frame checks, sizes, speeds, the 30-minute fuzz and its one finding, the shared-linear-memory risk left to the owner (separate decoder instance recommended), and the zstd/ruzstd fallback2026-10-31
8d9b57c1e50aguests/verify-bundle: Heimdall is a defensive sandbox — the 11-second OpenZL fuzz find kept as a regression: a 36-byte frame whose constant codec asks malloc for ~2^64 bytes (not bounded by the header size the reader checks); malloc returns NULL, OpenZL reports Allocation, the member is refused (holger-update-28, as Holger) natively and inside the sandbox, never a trap2026-10-31
03fc5a650582guests/verify-bundle: GREEN — Heimdall is a defensive sandbox: OpenZL's C decoder compiled into the wasm32 guest (feature openzl, default on)2026-10-31
ab3e6a452c17guests/verify-bundle: RED — Heimdall is a defensive sandbox: OpenZL members must verify inside the guest2026-10-31
8ef60fa1f23cREADME: the OpenSSF Best Practices badge (bestpractices.dev project 16105, passing)2026-10-30
740324112c45scripts/ci.sh: Heimdall is a defensive sandbox — every guests/*/ workspace gets fmt, clippy -D warnings, its tests (the verify-bundle guest runs in the real wasm host) and a wasm32 build; verify-bundle lock follows main2026-10-30
5438dab40a87guests/verify-bundle: GREEN — Heimdall is a defensive sandbox: the Holger bundle verifier in pure Rust for wasm32 (znippy v0.7 reader with its own total Arrow IPC decoder, Holger's release signature, approvals, two-person rule, dual digests, size caps, DSSE before statement parsing), stable codes (holger-update-<n> / heimdall-bundle-<n>), wit-bindgen export against heimdall-wasm's WIT; 157 tests incl. 7 in the real host, fuzz clean (5 targets x 240 s, three arrow-ipc panics found and kept as seeds)2026-10-30
4e0f98c6efd4guests/verify-bundle: RED — Heimdall is a defensive sandbox: the Holger bundle verifier guest's API, real Holger-made bundles and 149 tests (archive, tampering with Holger as the oracle, DSSE, policy and parameters, proptest, fuzz seed replay), five cargo-fuzz targets; reader, path guard and pipeline stubbed2026-10-30
64fce8f15928Merge m1/ci into main (lane heimci): cargo xtask ci = scripts/ci.sh for the dwarves CI forge2026-10-30
fdd80740cdcbGREEN: cargo xtask ci runs scripts/ci.sh (ci, --quick, --nightly; anything else refused by name); heim-ci: 627 passed, 0 failed, CI green2026-10-30
c78956fc2da5RED: cargo xtask ci runs scripts/ci.sh for the dwarves CI forge (ci, --quick, --nightly; anything else refused by name)2026-10-30
2c94f2aa308aREADME: fuzzing results (8 targets, 30 min each, ~1.9 billion inputs, no crash), measured 2026-10-302026-10-30
3f7550534a8afuzz: scripts/fuzz.sh runs in the CI image heim-ci; drop ci/fuzz.Containerfile (same pinned nightly-2026-10-01 and cargo-fuzz 0.13.1); 30 min on oden per target, 8 targets, no crash2026-10-30
5c7d53c521a4docs/OPENSSF-ANSWERS.md: all 67 passing criteria of the OpenSSF Best Practices badge with status, justification and URL (Holger/Gunnar wording), and the Unmet list; README: get the code, the contributing/security/changes links, a commented badge placeholder2026-10-30
1aef45cbeb41CHANGELOG.md: v0.1.0 (tag 386a67f) from the git log and docs/API.md, and Unreleased2026-10-30
1d3019056d60SECURITY.md (private reports to gunnar@gunnar.rs, subject SECURITY:, 14/60/90 days, 0.1.x supported, announcements, dependency advisories; core, wasm host, plain runner, run/cli, guests) and CONTRIBUTING.md (anonymous clone, issues on gunnar.rs, RED/GREEN, scripts/ci.sh in the CI image, CLA 1.1, coding rules, no secrets)2026-10-30
bcb275d6aeb9deny.toml (advisories, bans, licences, sources as nordisk/holger; no advisory fires, none ignored) and ci/ci.Containerfile (CI image heim-ci: rustfmt, clippy, libseccomp, pinned nightly, cargo-fuzz 0.13.1, cargo-deny 0.20.2) so scripts/ci.sh runs cargo deny; path deps between the crates name version 0.1.0 (cargo-deny wildcard ban)2026-10-30
25387df2698cREADME: the Norse line (lets nothing into Asgard unchecked, especially not data); drop ', no Go'2026-10-30
55f1e61fb635fuzz: heimdall-wasm targets wasm_guest_load (arbitrary bytes through pin + signature + compile: refused without panic, only a pinned and signed component loads, no host fault on run) and wasm_emit_file (fuzzer-scripted emit-file calls checked against a model: plain unique names, count/size limits, no files after a trap or limit), seeds and their generator (examples/wasm_seeds)2026-10-30
5e11f93fdec1README: SLSA L3 row names the pipeline Holger and Gunnar already release with; Heimdall v0.1.0 is not attested yet2026-10-30