Skip to content

fix(sandbox): unrestrict signal, process-info and add mach-register#114

Merged
yishuiliunian merged 1 commit intomainfrom
fix/seatbelt-unrestrict-signal-mach
Apr 16, 2026
Merged

fix(sandbox): unrestrict signal, process-info and add mach-register#114
yishuiliunian merged 1 commit intomainfrom
fix/seatbelt-unrestrict-signal-mach

Conversation

@yishuiliunian
Copy link
Copy Markdown
Contributor

Summary

  • Unrestrict signal and process-info* in Seatbelt profile (were limited to same-sandbox, blocking killall and process enumeration for external processes)
  • Add (allow mach-register) to fix bootstrap_check_in Permission Denied for GUI apps (Chrome, browsers)
  • These restrictions had no security value since process-exec/process-fork are already unrestricted

Changes

  • crates/loopal-sandbox/src/platform/seatbelt_base.sbpl — relaxed 3 Seatbelt rules
  • crates/loopal-sandbox/tests/suite/platform_macos_test.rs — updated assertions

Test plan

  • bazel test //crates/loopal-sandbox:loopal-sandbox_test passes
  • CI passes

…n Seatbelt profile

signal and process-info were limited to (target same-sandbox), which
blocked killall / process enumeration for processes outside the sandbox.
mach-register was denied by default, breaking bootstrap_check_in for
GUI apps like Chrome.

These restrictions provided no real security since process-exec and
process-fork are already unrestricted — a child process can trivially
bypass them by spawning a helper outside the sandbox.
@yishuiliunian yishuiliunian merged commit 4a70c08 into main Apr 16, 2026
4 checks passed
@yishuiliunian yishuiliunian deleted the fix/seatbelt-unrestrict-signal-mach branch April 16, 2026 03:16
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