Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/heimdall

bench/znippy-unpack/README.md

znippy unpack: a generated seccomp profile for the Heimdall benchmark

Heimdall is a defensive sandbox. This is the seccomp profile of znippy unpacking archives: decompress (the whole archive) and get (one member by path, Holger's random-access read). It was measured with heimdall-probe in learning mode and approved by the owner on 2026-11-01. It will be used in the benchmark "plain youki vs youki + profile vs a full Heimdall job". It is not compiled into nordisk-heimdall-profiles: the binary and its multi-GB corpus are not in the repository, so the drift check of scripts/seccomp-tests.sh does not run it.

What differs between the runs: nothing is seen only on an error path. The whole-archive unpacks (and the corrupt one) add clone (worker threads), mkdir, chmod, pwrite64, madvise, exit, mmap PROT_NONE and mprotect RW; mremap is seen only in get from the 5 GB archive; the selective unpack and the two gets start no worker threads (no futex). gen merged openat to "no bit outside O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC" and clone to "no flag outside the observed union"; mmap/mprotect prot stay exact; ioctl only TCGETS.

znippy issues seen while measuring (not fixed here): a corrupt archive panics (exit 101) and leaves every member, the corrupt one too, in the output directory; a truncated archive panics with "v0.6 archives are not supported"; a missing member panics instead of a clean error.