flamiinngo
aeda146112
fix(security): honor shell hook blocks even when message/reason is absent
...
_parse_response in agent/shell_hooks.py only forwarded a pre_tool_call
block directive if the hook also provided a non-empty message or reason.
When either field was missing the function returned None, causing Hermes
to treat the response as a no-op and execute the tool unconditionally.
This means a hook that outputs {"action": "block"} or {"decision": "block"}
without a reason string is silently ignored. The security boundary fails
open: tools the user intended to gate are executed anyway.
Fix: remove the message-presence guard. Honor the block unconditionally
and fall back to a default message when none is provided. Existing hooks
that already include a message or reason are unaffected.
2026-05-17 02:31:18 -07:00
..
2026-05-17 02:29:41 -07:00
2026-05-17 02:29:41 -07:00
2026-02-21 22:31:43 -08:00
2026-05-11 11:13:25 -07:00
2026-05-16 23:43:09 -07:00
2026-05-16 23:41:45 -07:00
2026-05-16 02:38:02 -07:00
2026-05-15 14:00:01 -07:00
2026-05-16 23:11:43 -07:00
2026-05-16 23:42:49 -07:00
2026-05-07 05:17:16 -07:00
2026-05-16 23:47:51 -07:00
2026-05-15 16:35:12 -07:00
2026-05-16 23:41:09 -07:00
2026-05-16 17:18:25 -07:00
2026-05-13 22:25:16 -07:00
2026-04-20 01:56:41 -07:00
2026-05-16 23:33:59 -07:00
2026-05-16 23:38:45 -07:00
2026-05-16 02:24:48 -07:00
2026-05-16 22:54:22 -07:00
2026-05-15 12:11:32 -07:00
2026-05-02 01:29:57 -07:00
2026-05-10 06:44:53 -07:00
2026-05-15 10:36:38 +05:30
2026-05-11 11:13:25 -07:00
2026-04-21 01:31:58 -07:00
2026-05-14 08:03:56 -07:00
2026-05-11 11:13:20 -07:00
2026-04-28 06:46:45 -07:00
2026-04-28 06:46:45 -07:00
2026-05-04 03:16:19 -07:00
2026-05-10 07:14:14 -07:00
2026-04-21 21:30:10 -07:00
2026-05-13 22:31:28 -07:00
2026-05-11 11:13:25 -07:00
2026-04-20 05:25:49 -07:00
2026-05-16 17:59:32 -07:00
2026-04-28 12:27:36 -07:00
2026-04-30 23:03:54 -07:00
2026-05-11 16:49:13 -07:00
2026-05-11 11:13:25 -07:00
2026-05-05 13:33:49 -07:00
2026-05-16 17:41:09 -07:00
2026-05-17 02:31:18 -07:00
2026-05-13 23:51:15 -07:00
2026-05-16 13:02:19 -07:00
2026-05-08 14:27:40 -07:00
2026-04-29 08:08:36 -07:00
2026-05-10 07:09:28 -07:00
2026-05-12 20:49:20 -07:00
2026-05-16 17:59:32 -07:00
2026-05-12 18:46:28 -07:00
2026-05-12 20:46:04 -07:00
2026-04-13 16:32:04 -07:00
2026-05-11 11:13:25 -07:00
2026-04-08 00:41:36 -07:00
2026-05-17 02:31:18 -07:00
2026-05-16 22:52:22 -07:00
2026-04-24 15:15:07 -07:00
2026-05-08 16:39:32 -07:00
2026-05-16 18:28:17 -07:00
2026-04-09 03:10:30 -07:00
2026-05-16 18:16:20 -07:00
2026-05-05 04:33:38 -07:00
2026-05-04 12:07:17 -07:00
2026-05-16 23:36:37 -07:00
2026-05-16 18:24:05 -07:00
2026-05-13 06:46:23 -07:00
2026-05-13 06:46:23 -07:00
2026-02-21 22:31:43 -08:00
2026-05-12 16:32:57 -07:00
2026-05-13 16:39:41 -07:00
2026-05-13 16:39:41 -07:00
2026-05-13 22:31:28 -07:00
2026-05-13 22:31:28 -07:00