v0.107.2 #820
v0.107.2
#820
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
What
The adversarial pass. 0.107.1 shipped six boundaries; an adversary
was then set on that work with one instruction, break it. Three of six
claims fell, and hunting what the first repairs still let through found
four more. Every fix below was proven on the binary before it was
touched, and each carries the mutation that makes it fail.
Two doors that were open
/root/./x*closed in the morning;
/ROOT/x*did not. macOS ships acase-insensitive filesystem —
/ETCand/etcare the same inode —so an exact-match root check let a permit name any system root on the
very platform the seatbelt backend serves. The comparison folds case
now, and refusing these on Linux can only ever refuse a path that does
not exist.
redacting sink wraps the event lane, and a run's
outputs:map is notan event: it rides
RunOutcomestraight to--output json, where theCLI serialized it verbatim. The static check refuses a declared
egress, but not the side channel this backstop exists for — an exec
catting a file-sourced secret, a tool echoing its input. The map is
scrubbed now, at any depth.
Three guards that judged less than they claimed
names, eleven asserted; deleting the one that makes macOS load
arbitrary code into every dynamically linked child left the suite
green. Both halves are pinned now — every listed name enforced, and a
floor naming what may never leave.
nika:notifytarget is judged whatever channel carriesit. One
${{ }}inchannel:made the tool unclassifiable and there-gate silent: the same payload passed with rc=0 templated and rc=2
spelled out.
host we do not parse denied every command in the session —
lscameback « nika run blocked ». It now degrades only for bytes that could
have carried a run.
One law, two implementations
function as the exec runner, which its own module doc had promised
all along. The copy was equivalent, and equivalence was exactly what
nothing guaranteed.
Install
Tarballs below: macOS arm64 / x64 · Linux x64 / arm64, plus
SHA256SUMS.Verify: three independent proofs
Provenance
Built from tag
v0.107.2byrelease.ymlon GitHub-hosted runners. Provenance is published twice: GitHub's native
build attestation (proof 2) and the SLSA generator's
multiple.intoto.jsonlrelease asset (proof 3). The release itself is a claim on the
machine-verified timeline: https://nika.sh/timeline
Full Changelog: v0.107.1...v0.107.2
This discussion was created from the release v0.107.2.
All reactions