Skip to content

Add macOS srt safe-zone installer and isolation probes - #87

Merged
krystophny merged 2 commits into
mainfrom
safe-srt-20261028
Oct 28, 2026
Merged

krystophny merged 2 commits into
mainfrom
safe-srt-20261028

Conversation

@krystophny

Copy link
Copy Markdown
Member

Add a root-owned macOS safe pi launcher that confines Pi to the configured filesystem regions and a single localhost relay port using srt 0.0.81.

What to review

  • Policy and wrapper: home read deny with explicit carve-outs, credential denies, protected tool directories, strict network allowlist, clean environment and disabled Pi resources.
  • Installer copies the local provider key without logging it; the committed configuration contains a placeholder. A root-owned standalone Node.js binary avoids loading Homebrew libraries before the sandbox starts.

Verified

All 17 shell checks passed against the installed policy, including credential open denials, a synthetic Keychain item, explicit network proxy denials, direct TCP and Unix socket denials, local binding denial, protected-file write denials, authenticated relay model listing, and synthetic file write/read/delete. Installed ownership, template matching, Python and shell syntax, JSON parsing and wrapper refusal checks passed. Commit hooks passed.

Remaining acceptance

Draft: the task explicitly forbids invoking Pi or another model, so the one-line model answer and Pi-driven isolation checks were not run. Pi 1.4.0 attempts read locks in its configuration directory; read-only compatibility remains unverified. Sudo policy is unchanged pending complete acceptance. No merge is requested until those checks and the final sudo change succeed.

Chris&AI

Pi 1.4.0 creates lock files beside its settings and credentials, so it
cannot start from the root-owned template. The wrapper now copies the
template into the zone's state directory on each start. The model key is
readable only by the operator. Document why host sudo is left unchanged.
@krystophny
krystophny marked this pull request as ready for review October 28, 2026 19:12
@krystophny
krystophny added this pull request to the merge queue Oct 28, 2026
Merged via the queue into main with commit 62b4c52 Oct 28, 2026
2 checks passed
@krystophny
krystophny deleted the safe-srt-20261028 branch October 28, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant