Teknium
e2fe529efb
feat(approvals): user-defined deny rules that block commands even under yolo ( #59164 )
...
Adds approvals.deny to config.yaml — a list of fnmatch globs matched
against terminal commands. A match blocks unconditionally, BEFORE the
--yolo / /yolo / approvals.mode=off bypass, making it the user-editable
counterpart to the code-shipped hardline blocklist.
- Checked in both command gates (check_dangerous_command and
check_all_command_guards), after the hardline floor and sudo-stdin
guard, before the yolo bypass and permanent allowlist.
- Matching runs over the same normalized/deobfuscated command variants
as the dangerous-pattern detector, case-insensitive.
- Opt-in: empty/absent list is a no-op; behavior unchanged.
Supersedes the trust-engine approach from #21500 with a minimal
config-native design: the only capability the existing stack lacked
was deny-that-beats-yolo. Allow already exists (command_allowlist),
ask already exists (session approvals).
2026-07-05 14:48:40 -07:00
..
2026-07-05 14:48:20 -07:00
2026-07-05 14:41:51 -07:00
2026-03-17 02:33:12 -07:00
2026-03-31 08:48:54 +09:00
2026-03-23 07:43:12 -07:00
2026-07-05 14:48:40 -07:00
2026-07-02 04:20:43 -07:00
2026-04-08 02:24:32 -07:00
2026-06-11 10:49:47 -07:00
2026-04-01 04:18:50 -07:00
2026-07-03 03:27:47 -07:00
2026-07-03 03:27:47 -07:00
2026-05-19 22:34:05 -07:00
2026-07-01 05:04:41 -07:00
2026-07-02 13:10:30 +05:30
2026-06-21 17:46:38 +05:30
2026-07-05 13:42:46 -07:00
2026-06-28 04:13:19 -07:00
2026-06-19 07:34:02 -07:00
2026-07-02 03:00:59 -07:00
2026-07-05 14:41:51 -07:00
2026-06-22 06:42:30 -07:00
2026-07-04 15:30:50 -07:00
2026-07-01 14:23:01 +05:30
2026-07-02 04:20:43 -07:00
2026-06-25 13:52:06 -07:00
2026-07-05 13:42:46 -07:00
2026-05-07 05:11:09 -07:00
2026-07-01 14:37:22 +05:30
2026-06-08 22:46:57 -07:00
2026-05-22 04:10:45 -07:00
2026-05-08 16:39:32 -07:00
2026-05-08 16:39:32 -07:00
2026-06-20 23:23:47 -07:00
2026-04-21 16:41:26 -07:00
2026-07-05 14:42:05 -07:00
2026-07-01 17:48:32 +05:30
2026-04-13 04:45:07 -07:00
2026-07-05 13:51:26 -07:00
2026-06-25 12:38:33 -07:00
2026-07-05 00:47:54 -07:00
2026-04-17 20:39:25 -07:00
2026-07-02 00:05:48 +05:30
2026-07-04 13:40:59 -07:00
2026-05-30 07:58:08 -07:00
2026-06-30 16:56:15 -07:00
2026-07-04 14:10:33 +05:30
2026-07-05 13:40:21 -07:00
2026-06-30 20:01:16 +05:30
2026-05-08 09:27:26 -07:00
2026-05-08 09:27:26 -07:00
2026-03-18 02:55:30 -07:00
2026-03-11 20:02:36 -07:00
2026-06-06 18:30:39 -07:00
2026-05-20 01:46:40 -05:00
2026-04-11 13:59:52 -07:00
2026-06-30 04:23:27 -05:00
2026-06-25 16:40:27 -05:00
2026-06-13 14:42:51 -07:00
2026-07-02 03:00:59 -07:00
2026-07-01 15:37:58 +05:30
2026-06-12 00:30:51 -05:00
2026-07-05 13:42:46 -07:00
2026-06-27 04:41:22 -07:00
2026-06-30 15:49:36 -07:00
2026-05-04 02:42:16 -07:00
2026-06-25 22:03:02 -07:00
2026-05-23 17:47:26 -07:00
2026-06-01 01:58:48 -07:00
2026-07-04 15:15:31 -07:00
2026-06-27 21:07:53 -07:00
2026-06-30 15:49:36 -07:00
2026-05-15 14:00:01 -07:00
2026-07-05 14:41:51 -07:00
2026-05-29 03:44:49 -07:00
2026-07-01 01:05:28 -07:00
2026-06-26 15:26:08 +05:30
2026-07-01 01:02:17 -07:00
2026-06-01 06:32:48 +05:30
2026-05-31 00:50:19 -07:00
2026-06-30 16:39:41 -07:00
2026-05-29 02:04:12 -07:00
2026-06-28 10:19:21 -05:00
2026-07-03 05:30:16 -05:00
2026-07-01 05:04:41 -07:00
2026-06-29 21:11:58 -07:00
2026-07-05 00:47:54 -07:00
2026-06-08 22:46:57 -07:00
2026-07-03 20:14:27 +05:30
2026-07-04 15:08:49 -07:00
2026-06-10 02:57:15 -07:00
2026-05-28 22:26:25 -07:00
2026-06-29 21:11:58 -07:00
2026-06-29 21:11:58 -07:00
2026-05-23 01:40:35 -07:00