jif
5eea8d0dd3
Review terminal input against retained permissions ( #41328 )
...
## Why
An existing terminal keeps the sandbox, network settings, and grants it had at launch. Later `write_stdin` calls must account for that retained authority, including when permissions change between turns.
## What changed
- Capture each terminal's effective launch permissions and compare them with the current environment before accepting non-empty input.
- Request approval when the terminal bypassed the sandbox, retains additional grants, strict auto-review is active, or its sandbox or network settings differ from the current policy.
- Reject input when current denied-read or environment-owned network restrictions cannot be enforced by the existing terminal, while keeping empty polls and non-TTY interrupts available without review.
- Include the effective sandbox mode and user-visible additional grants in `write_stdin` approval actions without exposing host-owned grant paths.
## Testing
Added unit and end-to-end coverage for retained cross-turn grants, strict auto-review, sandbox and network policy changes, denied reads, Windows sandbox backends, and private grant redaction.
GitOrigin-RevId: e2d71daf9358474c885998786c4928069100711c
2026-08-28 11:38:03 +00:00
..
2026-08-26 22:37:59 +00:00
2026-08-25 19:54:52 +00:00
2026-08-23 06:10:44 +00:00
2026-08-26 16:28:35 +00:00
2026-08-26 22:37:59 +00:00
2026-08-24 18:22:13 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 17:46:05 +00:00
2026-08-24 19:52:27 +00:00
2026-08-13 00:00:16 +00:00
2026-08-27 21:03:09 +00:00
2026-08-27 06:58:07 +00:00
2026-08-25 21:34:05 +00:00
2026-08-27 07:50:05 +00:00
2026-08-28 00:22:05 +00:00
2026-08-21 20:15:23 +00:00
2026-08-13 00:00:16 +00:00
2026-08-27 22:28:46 +00:00
2026-08-25 23:42:50 +00:00
2026-08-27 06:58:07 +00:00
2026-08-20 17:46:05 +00:00
2026-08-26 23:05:08 +00:00
2026-08-13 00:00:16 +00:00
2026-08-27 20:01:39 +00:00
2026-08-24 18:22:13 +00:00
2026-08-28 02:09:07 +00:00
2026-08-25 19:54:52 +00:00
2026-08-20 18:29:35 +00:00
2026-08-27 00:02:26 +00:00
2026-08-20 18:29:35 +00:00
2026-08-26 16:28:35 +00:00
2026-06-18 14:09:38 +02:00
2026-08-17 21:49:30 +00:00
2026-08-28 01:14:02 +00:00
2026-08-20 05:29:12 +00:00
2026-08-25 21:34:05 +00:00
2026-08-27 08:44:54 +00:00
2026-08-21 21:51:12 +00:00
2026-08-27 22:28:46 +00:00
2026-08-21 21:22:35 +00:00
2026-08-26 16:28:35 +00:00
2026-08-25 23:42:50 +00:00
2026-08-20 18:29:35 +00:00
2026-08-23 06:10:44 +00:00
2026-08-13 00:00:16 +00:00
2026-08-25 01:27:18 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 00:00:16 +00:00
2026-06-15 21:53:47 -07:00
2026-08-25 23:42:50 +00:00
2026-08-27 00:02:26 +00:00
2026-08-27 20:31:40 +00:00
2026-08-04 15:23:43 +00:00
2026-08-26 16:28:35 +00:00
2026-08-25 23:42:50 +00:00
2026-08-26 16:28:35 +00:00
2026-08-26 10:39:05 +00:00
2026-08-28 11:38:03 +00:00
2026-05-18 21:03:51 -07:00
2026-08-13 00:00:16 +00:00
2026-08-27 21:03:09 +00:00
2026-08-27 02:00:31 +00:00
2026-08-27 21:03:09 +00:00
2026-08-20 17:46:05 +00:00
2026-08-27 21:03:09 +00:00
2026-08-20 11:57:32 +00:00
2026-08-27 00:02:26 +00:00
2026-08-26 21:39:05 +00:00
2026-08-25 23:42:50 +00:00
2026-08-20 19:09:04 +00:00
2026-06-08 13:55:15 -07:00
2026-08-26 22:48:37 +00:00
2026-08-27 06:58:07 +00:00
2026-08-27 21:03:09 +00:00
2026-08-26 19:02:02 +00:00
2026-07-14 10:37:23 +00:00
2026-08-14 19:07:15 +00:00
2026-07-22 20:23:35 +00:00
2026-08-13 00:00:16 +00:00
2026-08-28 02:39:47 +00:00
2026-08-01 01:17:26 +00:00
2026-08-27 19:58:09 +00:00
2026-08-27 21:03:09 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 00:00:16 +00:00
2026-08-20 18:29:35 +00:00
2026-08-20 17:54:42 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 00:00:16 +00:00
2026-08-26 19:44:12 +00:00
2026-07-22 00:50:28 +00:00
2026-08-25 19:54:52 +00:00
2026-08-26 03:28:57 +00:00
2026-08-28 10:39:10 +00:00
2026-08-26 18:06:12 +00:00
2026-08-27 21:03:09 +00:00
2026-08-23 06:10:44 +00:00
2026-07-23 19:19:35 +00:00
2026-08-13 00:00:16 +00:00
2026-08-20 17:46:05 +00:00
2026-08-27 02:00:31 +00:00
2026-08-27 04:58:21 +00:00
2026-08-25 17:20:37 +00:00
2026-08-25 17:27:04 +00:00
2026-08-21 15:24:56 +00:00
2026-08-20 17:46:05 +00:00
2026-08-27 02:00:31 +00:00
2026-08-27 01:22:23 +00:00
2026-08-27 21:03:09 +00:00
2026-08-26 22:37:59 +00:00
2026-08-25 17:41:22 +00:00
2026-08-27 15:01:22 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 00:00:16 +00:00
2026-08-27 21:03:09 +00:00
2026-08-28 09:48:13 +00:00
2026-08-27 15:01:22 +00:00
2026-08-20 17:46:05 +00:00
2026-08-27 20:39:39 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 17:46:05 +00:00
2026-08-25 19:54:52 +00:00
2026-08-20 17:46:05 +00:00
2026-08-27 19:58:09 +00:00
2026-08-28 11:38:03 +00:00
2026-08-27 14:54:13 +00:00
2026-08-26 21:39:05 +00:00
2026-08-26 21:39:05 +00:00
2026-08-10 19:26:52 +00:00
2026-08-13 00:00:16 +00:00
2026-08-20 17:46:05 +00:00
2026-08-27 21:03:09 +00:00
2026-08-14 01:23:59 +00:00
2026-08-13 00:00:16 +00:00
2026-08-26 22:37:59 +00:00
2026-08-24 17:29:21 +00:00
2026-08-26 16:28:35 +00:00
2026-08-20 06:29:32 +00:00