File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11# Synthetic Native Login Protocol - 2026-10-14
22
3+ - Separate-trace no-client preflight refused trace metadata before compilation.
4+ Set077 explicitly in the trusted namespace setup before the tracer starts,
5+ rather than relying on the host wrapper mask or the later Python setup.
6+ Retained0600 admission and added bounded mode/owner/link diagnostics; the
7+ diagnostic regression failed first. All53 local tooling cases pass; actual
8+ retry pending, not an authorization/runtime readiness claim.
9+
310- The constrained native process reached the final syscall audit after the
411 cancel scenario's initialize/code/poll/wrong-ID/correct-ID/repeat/silence checks.
512 The final audit refused an execution record; protocol suite not passed. Split
Original file line number Diff line number Diff line change @@ -156,7 +156,9 @@ def read_trace(prefix: Path) -> str:
156156 if (not re .fullmatch (re .escape (prefix .name ) + r"\.[0-9]+" , file .name )
157157 or not stat .S_ISREG (metadata .st_mode ) or metadata .st_uid != os .geteuid ()
158158 or stat .S_IMODE (metadata .st_mode ) != 0o600 or metadata .st_nlink != 1 ):
159- raise ValueError ("process trace metadata rejected" )
159+ raise ValueError (f"process trace metadata rejected: { file .name [:128 ]} "
160+ f"mode={ stat .S_IMODE (metadata .st_mode ):04o} uid={ metadata .st_uid } "
161+ f"links={ metadata .st_nlink } " )
160162 total += metadata .st_size
161163 if total > 1024 * 1024 :
162164 raise ValueError ("trace byte budget exceeded" )
Original file line number Diff line number Diff line change @@ -50,7 +50,7 @@ timeout --signal=TERM --kill-after=5s 100s sudo -n setpriv --no-new-privs bwrap
5050 --ro-bind " $scratch /peer.pem" /work/peer.pem --ro-bind " $scratch /peer.key" /work/peer.key \
5151 --ro-bind " $scratch /wrong.pem" /work/wrong.pem --ro-bind " $scratch /wrong.key" /work/wrong.key \
5252 --chdir /work --clearenv --setenv PATH /usr/bin:/bin \
53- -- /bin/sh -eu -c ' ip link set lo up; exec setpriv --reuid=65534 --regid=65534 --clear-groups \
53+ -- /bin/sh -eu -c ' umask 077; ip link set lo up; exec setpriv --reuid=65534 --regid=65534 --clear-groups \
5454 --bounding-set=-all --inh-caps=-all --ambient-caps=-all --no-new-privs \
5555 "$@"' session-setup " ${check_command[@]} " > " $scratch /receipt.json" || {
5656 cat " $scratch /receipt.json"
Original file line number Diff line number Diff line change @@ -213,7 +213,7 @@ def test_per_process_trace_is_read_without_interleaved_syscalls(self):
213213 file .chmod (0o600 )
214214 self .assertEqual (self .module .read_trace (prefix ), "exec complete\n connect complete\n " )
215215 (prefix .parent / "trace.12" ).chmod (0o644 )
216- with self .assertRaises (ValueError ):
216+ with self .assertRaisesRegex (ValueError , "process trace metadata rejected.*mode=0644" ):
217217 self .module .read_trace (prefix )
218218 (prefix .parent / "trace.12" ).chmod (0o600 )
219219 (prefix .parent / "trace.12" ).write_bytes (b"x" * (1024 * 1024 + 1 ))
You can’t perform that action at this time.
0 commit comments