Celia Chen
9eef2e91fc
fix: allow restricted filesystem profiles to read helper executables ( #15114 )
...
## Summary
This PR fixes restricted filesystem permission profiles so Codex's
runtime-managed helper executables remain readable without requiring
explicit user configuration.
- add implicit readable roots for the configured `zsh` helper path and
the main execve wrapper
- allowlist the shared `$CODEX_HOME/tmp/arg0` root when the execve
wrapper lives there, so session-specific helper paths keep working
- dedupe injected paths and avoid adding duplicate read entries to the
sandbox policy
- add regression coverage for restricted read mode with helper
executable overrides
## Testing
before this change: got this error when executing a shell command via
zsh fork:
```
"sandbox error: sandbox denied exec error, exit code: 127, stdout: , stderr: /etc/zprofile:11: operation not permitted: /usr/libexec/path_helper\nzsh:1: operation not permitted: .codex/skills/proxy-a/scripts/fetch_example.sh\n"
```
saw this change went away after this change, meaning the readable roots
and injected correctly.
2026-03-20 15:51:06 -07:00
..
2026-03-20 18:23:48 +00:00
2026-03-14 22:24:13 -07:00
2026-01-13 10:22:51 -08:00
2026-03-05 13:26:48 -08:00
2026-03-20 15:51:06 -07:00
2026-03-17 22:05:41 -07:00
2026-03-19 20:12:07 -07:00
2026-03-19 22:35:52 -07:00
2026-03-12 08:16:36 -07:00
2026-03-19 20:12:07 -07:00
2026-03-19 20:12:07 -07:00
2026-03-19 20:12:07 -07:00
2026-03-18 09:17:44 +00:00
2026-03-20 00:06:24 -07:00
2026-03-20 18:23:48 +00:00
2026-03-20 02:38:12 +00:00
2026-03-19 00:46:15 -07:00
2026-03-19 08:31:14 -07:00
2026-03-19 20:12:07 -07:00
2026-03-20 22:03:31 +00:00
2026-03-16 16:48:15 -07:00
2026-03-12 19:22:30 -07:00
2026-03-12 19:22:30 -07:00
2026-03-14 15:38:51 -07:00
2026-03-14 15:38:51 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-20 21:13:20 +00:00
2026-03-20 21:13:20 +00:00
2026-03-17 15:24:37 -07:00
2026-03-18 09:37:13 -07:00
2026-03-18 09:37:13 -07:00
2026-03-17 19:46:44 -07:00
2026-03-19 18:58:17 -07:00
2026-03-13 15:27:00 -07:00
2026-03-18 06:42:26 +00:00
2026-03-19 20:12:07 -07:00
2026-03-19 22:57:16 -07:00
2026-03-19 20:12:07 -07:00
2026-03-19 20:12:07 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-19 10:53:08 -07:00
2026-03-12 08:16:36 -07:00
2026-03-16 16:48:15 -07:00
2026-03-19 20:12:07 -07:00
2026-03-19 20:12:07 -07:00
2026-03-12 00:35:21 -07:00
2026-03-19 10:53:08 -07:00
2026-03-19 10:53:08 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-19 18:58:17 -07:00
2026-01-08 21:48:30 -08:00
2026-03-12 08:16:36 -07:00
2026-03-16 16:48:15 -07:00
2026-03-14 15:38:51 -07:00
2026-03-19 18:58:17 -07:00
2026-03-19 10:53:08 -07:00
2026-03-19 10:53:08 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-18 06:42:26 +00:00
2026-03-18 06:42:26 +00:00
2026-03-20 02:38:12 +00:00
2026-03-20 03:19:22 +00:00
2026-03-12 08:16:36 -07:00
2026-03-16 16:48:15 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2025-09-24 14:29:51 -07:00
2026-01-08 15:07:30 +00:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-17 22:09:22 -07:00
2026-03-16 22:39:18 -07:00
2026-03-18 01:52:02 +00:00
2026-03-19 20:12:07 -07:00
2026-03-19 10:38:53 -07:00
2026-03-19 10:38:53 -07:00
2026-03-15 23:15:52 -07:00
2026-03-20 21:13:20 +00:00
2026-03-20 21:13:20 +00:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-08 01:36:39 +00:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-18 11:54:11 -06:00
2026-03-17 10:07:46 -07:00
2026-03-17 10:07:46 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-16 16:48:15 -07:00
2026-03-19 20:12:07 -07:00
2026-03-19 20:12:07 -07:00
2026-03-19 20:12:07 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-20 18:23:48 +00:00
2026-03-16 16:48:15 -07:00
2026-03-19 20:12:07 -07:00
2026-03-19 20:12:07 -07:00
2026-03-20 18:23:48 +00:00
2026-03-17 05:11:05 +00:00
2026-03-16 21:38:07 -07:00
2026-03-17 21:04:58 -07:00
2026-03-14 15:38:51 -07:00
2026-03-11 12:33:09 -07:00
2026-03-16 16:48:15 -07:00
2025-12-02 11:26:27 +00:00
2026-03-12 16:38:04 -07:00
2026-03-12 16:38:04 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-02-12 23:30:22 +00:00
2026-02-10 07:44:21 +00:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-14 13:24:43 -07:00
2026-03-18 01:52:02 +00:00
2026-03-20 18:23:48 +00:00
2026-03-17 10:07:46 -07:00
2026-02-10 17:03:46 -08:00
2026-03-17 17:59:27 +00:00
2026-03-17 17:59:27 +00:00
2026-03-12 08:16:36 -07:00
2026-03-16 16:48:15 -07:00
2026-03-07 02:30:21 +00:00
2026-03-12 08:16:36 -07:00
2026-03-16 16:48:15 -07:00
2026-03-19 15:16:26 -07:00
2026-03-19 22:57:16 -07:00
2026-03-17 20:21:46 +00:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-13 20:12:25 -06:00
2026-03-19 00:46:15 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-19 22:05:13 +00:00
2026-03-19 22:05:13 +00:00
2026-03-18 10:03:38 +00:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-19 18:58:17 -07:00
2026-03-19 18:58:17 -07:00
2026-01-30 16:37:56 -08:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-19 20:12:07 -07:00
2026-03-20 03:19:22 +00:00