Hermes Agent
541e4dc0ba
fix(agent): protect the runtime's own interpreter from agent deletes
...
A session asked to clean up older Pythons removed the uv-managed base
interpreter its own venv depended on; the next boot died with 'uv
trampoline failed to spawn Python child process' and no agent tool could
repair it, because the agent itself no longer started (#58748 ). Prior
uninstall detection (85ce25687e ) only flagged package-manager commands.
Add agent/runtime_self_protection.py and wire it into both layers:
- The approval floor (_floor_block) now blocks shell commands that
delete the running interpreter, its own venv, the pyvenv.cfg base, or
the uv-managed install directory — rm/rmdir/rd/del/erase/Remove-Item
with any flags, find <root> -delete, and uv python uninstall of the
running version (including --all). The floor runs before yolo /
approvals.mode=off / cron approve mode, so no session setting can
bypass it.
- The file-safety write classifier denies write/patch/move/delete to the
same paths, so the file tools cannot overwrite the interpreter either.
Only the runtime the process itself boots from is protected; every other
venv and interpreter on the machine stays manageable.
Fixes #58748
2026-09-25 16:24:21 -05:00
..
2026-09-24 13:10:14 -04:00
2026-09-23 11:41:01 -04:00
2026-09-18 17:26:10 -04:00
2026-09-24 11:50:30 -04:00
2026-09-19 22:57:07 -04:00
2026-09-23 19:26:00 -07:00
2026-09-25 21:27:06 +05:30
2026-09-24 13:10:14 -04:00
2026-09-25 12:07:32 -05:00
2026-09-22 01:19:12 -07:00
2026-09-24 23:37:27 -04:00
2026-09-21 13:18:11 -04:00
2026-09-19 09:56:12 -07:00
2026-09-24 22:26:23 +05:30
2026-09-24 22:25:06 +05:30
2026-09-25 12:56:32 -04:00
2026-09-22 01:19:12 -07:00
2026-09-23 15:13:16 -07:00
2026-09-23 18:29:35 -05:00
2026-09-19 09:28:45 -07:00
2026-09-21 19:08:19 -04:00
2026-09-23 15:00:46 -05:00
2026-09-24 23:37:27 -04:00
2026-09-23 18:29:35 -05:00
2026-09-20 14:29:39 -07:00
2026-09-25 21:28:32 +05:30
2026-09-24 15:58:19 +05:30
2026-09-19 09:53:48 -07:00
2026-09-24 15:58:19 +05:30
2026-09-25 13:49:31 -05:00
2026-09-23 11:41:01 -04:00
2026-09-23 21:28:38 +05:30
2026-09-19 20:44:24 -07:00
2026-09-24 22:38:35 +05:30
2026-09-23 21:55:59 -04:00
2026-09-23 18:52:49 -05:00
2026-09-23 01:11:58 -07:00
2026-09-24 16:29:19 +05:30
2026-09-20 15:50:49 -07:00
2026-09-24 11:57:56 -05:00
2026-09-21 23:38:16 -07:00
2026-09-19 10:28:34 -07:00
2026-09-21 00:58:39 -04:00
2026-09-24 11:57:56 -05:00
2026-09-24 11:57:56 -05:00
2026-09-23 23:06:15 +05:30
2026-09-24 11:57:56 -05:00
2026-09-24 22:27:18 +05:30
2026-09-19 22:57:07 -04:00
2026-09-24 15:44:48 +05:30
2026-09-19 09:37:23 -07:00
2026-09-19 21:24:05 -07:00
2026-09-25 21:27:06 +05:30
2026-09-18 20:55:24 -07:00
2026-09-20 10:07:50 -04:00
2026-09-19 22:57:07 -04:00
2026-09-25 14:08:03 +05:30
2026-09-24 02:23:44 -04:00
2026-09-24 22:36:08 +05:30
2026-09-19 10:54:43 -07:00
2026-09-20 17:00:43 -07:00
2026-09-23 13:40:45 -04:00
2026-09-25 16:24:21 -05:00
2026-09-24 02:23:44 -04:00
2026-09-24 00:30:45 +00:00
2026-09-20 00:34:46 -04:00
2026-09-23 08:04:33 +05:30
2026-09-23 18:29:35 -05:00
2026-09-24 18:01:46 +05:30
2026-09-24 08:51:52 -04:00
2026-09-24 08:51:52 -04:00
2026-09-23 18:26:45 -07:00
2026-09-23 01:06:32 -07:00
2026-09-23 01:06:32 -07:00
2026-09-23 22:45:56 -07:00
2026-09-23 21:28:38 +05:30
2026-09-24 11:57:56 -05:00
2026-09-18 20:56:35 -07:00
2026-09-23 15:26:34 -04:00
2026-09-25 21:27:06 +05:30
2026-09-23 15:26:34 -04:00
2026-09-21 13:14:22 -07:00
2026-09-19 00:53:26 -07:00
2026-09-19 09:21:18 -07:00
2026-09-19 10:56:19 -07:00
2026-09-22 16:15:34 +05:30
2026-09-23 11:41:01 -04:00
2026-09-23 07:02:44 -04:00
2026-09-23 21:28:38 +05:30
2026-09-20 14:02:17 +05:30
2026-09-23 00:44:33 -07:00
2026-09-20 16:03:38 -07:00
2026-09-25 21:28:32 +05:30
2026-09-23 21:28:38 +05:30
2026-09-23 06:31:43 -07:00
2026-09-24 01:06:16 -04:00
2026-09-24 22:32:05 +05:30
2026-09-19 09:49:39 -07:00
2026-09-23 07:43:29 -04:00
2026-09-25 16:24:21 -05:00
2026-09-23 08:09:47 -07:00
2026-09-19 10:38:30 -07:00
2026-09-24 06:21:50 -04:00
2026-09-22 05:16:50 -04:00
2026-09-22 09:55:47 -04:00
2026-09-20 15:50:26 -07:00
2026-09-22 09:55:47 -04:00
2026-09-21 18:42:05 -04:00
2026-09-24 22:41:10 +05:30
2026-09-24 22:25:06 +05:30
2026-09-21 00:58:39 -04:00
2026-09-23 17:06:48 -07:00
2026-09-23 17:06:48 -07:00
2026-09-24 22:41:10 +05:30
2026-09-24 17:59:28 +05:30
2026-09-24 16:29:19 +05:30
2026-09-24 16:29:19 +05:30
2026-09-21 19:08:19 -04:00
2026-09-20 18:24:07 -07:00
2026-09-24 15:44:26 +05:30
2026-09-24 22:33:58 +05:30
2026-09-24 22:25:06 +05:30
2026-09-24 22:27:18 +05:30
2026-09-23 22:45:56 -07:00
2026-09-24 22:27:18 +05:30
2026-09-20 20:13:33 -07:00
2026-09-23 07:46:43 -04:00
2026-09-25 12:27:24 -05:00
2026-09-24 22:32:05 +05:30
2026-09-25 12:27:24 -05:00
2026-09-24 22:27:18 +05:30
2026-09-23 04:38:27 -07:00
2026-09-23 05:36:34 -07:00
2026-09-19 12:38:55 -07:00
2026-09-24 13:10:14 -04:00
2026-09-19 00:04:42 -07:00
2026-09-19 10:47:48 -07:00
2026-09-24 22:25:06 +05:30
2026-09-19 12:38:55 -07:00
2026-09-24 22:41:10 +05:30
2026-09-23 05:36:34 -07:00
2026-09-25 01:08:23 -05:00
2026-09-23 11:33:09 -07:00
2026-09-20 10:21:52 -07:00
2026-09-20 10:23:04 -07:00
2026-09-20 11:47:06 -04:00
2026-09-23 10:52:20 -04:00
2026-09-23 11:00:15 -04:00