Unsafe export island
A fork could export a shim ahead of the very tool the block then runs (C4). The replay must refuse.
enforced: verify-proofs.py refuses the unsafe export and does not replay it.advisory: nothing else here is real.
export PATH=./fake:$PATH
python3 -c "print('ran')" # exit 0
bare-assignment/ is the sibling spelling that omits
export. Because the parent already exports PATH, Bash preserves that attribute; the shim
would still replace python3. The verifier must refuse both spellings.
empty-assignment/ removes the value as well as the keyword.
PATH= is still an unsafe binding: dropping it silently runs the later proof under a different
path, while replaying it disables lookup. It is refused and the later proof is gapped.
refusal-with-eligible/ proves an independent eligible probe
cannot launder that refusal into a green closed-stream harness result.
setup-state/ captures the sibling command-shadowing class: name () and
function name definitions—including one inside an annotated compound—and Bash printf
assignments must not rewrite the shell state that resolves an allowlisted proof.