shehjaddev
d205cef418
fix(redact): mask assignments in secret-bearing file reads
...
read_file/search_files passed file_read=True, which folded into code_file=True and skipped
the ENV/JSON/YAML assignment passes, so an opaque prefix-less credential under a
credential-shaped key reached the model in cleartext from a secret-bearing file — the
file-read half of the #110228 gate (#110567 ).
Two defects on that path, both fixed here:
- The rendered line-number gutter ("5| ADS_API_TOKEN: ..." from read_file,
"6: ADS_API_TOKEN: ..." from grep -n / cat -n) defeated the line-anchored patterns,
so the real rendered read leaked exactly what the raw text masked. A gutter-free fixture
cannot see this, which is why the tool-level tests carry the real render shape.
- _is_secret_file_arg() could not see the RESOLVED Hermes home: the default home's basename
is an installation detail (".hermes" on POSIX, "hermes" under AppData/Local on Windows) and
a resolved path never spells $HERMES_HOME, so the managed Windows home's config.yaml was
classified as ordinary YAML on both the file-read and the terminal surface.
Changes:
- redact_sensitive_text(): secret_file= re-enables the assignment passes for content the
caller classified with _is_secret_file_arg, keeping code_file behaviour everywhere else.
It is authoritative over code_file, so a caller cannot be fail-open on the security flag
by setting both.
- _redact_assignments(): mask_nonreusable selects the non-reusable sentinel for file reads,
so the #35519 write-back hazard stays closed.
- _should_redact_assignment(): no longer re-masks an already-masked value, which was erasing
the vendor label the sentinel deliberately keeps.
- _is_secret_file_arg(): consult the resolved Hermes home for the config.yaml arm.
- _CFG_ANCHORED_RE / _YAML_ASSIGN_RE: tolerate a rendered line-number gutter.
- file_tools.py: classify the resolved path at all three file-read call sites.
Closes #110567
2026-09-15 06:26:29 -07:00
..
2026-09-13 05:21:02 -07:00
2026-09-13 21:04:45 -07:00
2026-09-07 08:13:38 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-07 14:30:41 -07:00
2026-09-05 06:07:21 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-15 04:12:13 -07:00
2026-09-15 04:17:42 -07:00
2026-09-05 06:12:37 -07:00
2026-09-11 06:24:54 -07:00
2026-09-15 04:12:13 -07:00
2026-09-11 11:19:53 +05:30
2026-09-03 13:30:27 -07:00
2026-09-03 13:49:57 -07:00
2026-09-10 10:27:07 -07:00
2026-09-13 21:13:23 -07:00
2026-09-14 17:04:56 -07:00
2026-09-06 13:08:31 -07:00
2026-09-07 08:15:32 -07:00
2026-09-14 21:18:47 +05:30
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-15 04:13:13 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-12 08:43:28 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:25:33 -07:00
2026-09-13 14:41:26 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-15 06:16:38 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-15 04:13:13 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-06 23:31:05 +05:30
2026-09-03 14:18:25 -07:00
2026-09-08 05:10:57 -07:00
2026-09-08 05:10:57 -07:00
2026-09-10 10:35:07 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 14:18:25 -07:00
2026-09-13 14:41:26 -07:00
2026-09-03 14:18:25 -07:00
2026-09-15 04:56:01 -07:00
2026-09-07 06:00:46 -07:00
2026-09-12 21:50:30 -07:00
2026-09-12 21:50:30 -07:00
2026-09-03 13:49:57 -07:00
2026-09-14 16:13:51 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 13:24:04 -07:00
2026-09-13 05:09:06 -07:00
2026-09-05 18:46:53 +05:30
2026-09-15 03:45:41 -07:00
2026-09-03 13:49:57 -07:00
2026-09-13 09:18:02 -07:00
2026-09-14 21:18:47 +05:30
2026-09-13 05:21:02 -07:00
2026-09-13 05:21:02 -07:00
2026-09-13 05:21:02 -07:00
2026-09-03 13:22:51 -07:00
2026-09-03 13:22:51 -07:00
2026-09-13 05:21:02 -07:00
2026-09-03 17:45:53 -07:00
2026-09-03 13:22:51 -07:00
2026-09-03 13:22:51 -07:00
2026-09-14 07:21:18 -07:00
2026-09-14 17:34:31 -07:00
2026-09-15 00:41:13 +05:30
2026-09-15 00:41:13 +05:30
2026-09-15 00:41:14 +05:30
2026-09-15 00:41:13 +05:30
2026-09-15 00:41:13 +05:30
2026-09-15 00:41:14 +05:30
2026-09-15 00:41:13 +05:30
2026-09-14 22:01:32 +00:00
2026-09-15 00:41:14 +05:30
2026-09-15 00:41:14 +05:30
2026-09-15 00:41:14 +05:30
2026-09-15 00:41:14 +05:30
2026-09-15 00:41:14 +05:30
2026-09-14 22:01:32 +00:00
2026-09-03 13:24:04 -07:00
2026-09-11 19:39:12 -07:00
2026-09-15 05:33:41 -07:00
2026-09-15 03:56:17 -07:00
2026-09-03 13:30:27 -07:00
2026-09-15 04:13:47 -07:00
2026-09-09 12:17:13 +05:30
2026-09-03 13:49:57 -07:00
2026-09-09 12:17:13 +05:30
2026-09-15 03:56:17 -07:00
2026-09-15 03:57:24 -07:00
2026-09-10 02:21:15 +05:30
2026-09-09 10:55:32 -07:00
2026-09-06 05:03:20 -07:00
2026-09-13 21:31:57 -07:00
2026-09-06 02:20:49 -07:00
2026-09-06 10:36:08 -07:00
2026-09-03 02:35:37 -07:00
2026-09-07 05:57:26 -07:00
2026-09-07 08:08:41 -07:00
2026-09-15 04:12:13 -07:00
2026-09-08 02:26:05 +05:30
2026-09-08 13:38:18 -07:00
2026-09-13 21:05:42 -07:00
2026-09-15 03:45:41 -07:00
2026-09-13 20:13:12 -07:00
2026-09-15 03:45:41 -07:00
2026-09-07 06:15:43 -07:00
2026-09-05 06:18:41 -07:00
2026-09-08 02:26:05 +05:30
2026-09-03 19:33:28 -07:00
2026-09-15 00:41:13 +05:30
2026-09-09 02:36:00 -07:00
2026-09-05 21:00:19 +05:30
2026-09-05 18:32:44 +05:30
2026-09-13 05:07:11 -07:00
2026-09-03 13:24:04 -07:00
2026-09-05 21:07:14 +05:30
2026-09-03 13:24:04 -07:00
2026-09-11 15:29:15 -07:00
2026-09-07 07:10:28 -07:00
2026-09-07 06:12:24 -07:00
2026-09-03 13:49:57 -07:00
2026-09-09 11:46:36 -07:00
2026-09-12 20:52:49 -07:00
2026-09-12 20:52:49 -07:00
2026-09-05 19:06:57 +05:30
2026-09-12 20:52:49 -07:00
2026-09-15 03:57:24 -07:00
2026-09-15 03:57:24 -07:00
2026-09-15 03:57:24 -07:00
2026-09-15 05:35:34 -07:00
2026-09-07 06:02:41 -07:00
2026-09-07 06:02:41 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 13:30:27 -07:00
2026-09-05 18:03:05 +05:30
2026-09-03 13:30:27 -07:00
2026-09-15 06:26:29 -07:00
2026-09-14 16:13:51 -07:00
2026-09-03 13:24:04 -07:00
2026-09-08 02:26:39 +05:30
2026-09-10 05:02:41 -07:00
2026-09-12 21:55:07 -07:00
2026-09-03 13:49:57 -07:00
2026-09-14 09:19:25 -07:00
2026-09-15 03:45:41 -07:00
2026-09-03 13:53:03 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 21:03:11 -07:00
2026-09-13 21:03:11 -07:00
2026-09-13 09:18:54 -07:00
2026-09-03 04:56:59 +05:30
2026-09-03 13:48:14 -07:00
2026-09-15 03:45:41 -07:00
2026-09-07 14:16:57 -07:00
2026-09-03 13:48:14 -07:00
2026-09-15 06:25:42 -07:00
2026-09-12 12:32:55 -07:00
2026-09-07 06:05:51 -07:00
2026-09-15 03:57:24 -07:00
2026-09-03 14:00:59 -07:00
2026-09-03 14:00:59 -07:00
2026-09-03 13:10:52 -07:00
2026-09-07 14:10:46 -07:00
2026-09-15 03:37:11 -07:00
2026-09-02 22:12:25 -07:00
2026-09-12 10:00:06 +05:30
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-12 09:05:56 -07:00
2026-09-13 20:45:25 -07:00
2026-09-03 13:29:55 -07:00
2026-09-15 13:00:12 +05:30
2026-09-03 13:29:55 -07:00
2026-09-07 08:22:35 -07:00
2026-09-03 13:29:55 -07:00
2026-09-05 17:00:18 -07:00
2026-09-07 22:47:33 +05:30
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-13 20:45:25 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-07 07:04:52 -07:00
2026-09-03 13:29:55 -07:00
2026-09-15 04:56:40 -07:00
2026-09-03 13:29:55 -07:00
2026-09-15 04:54:30 -07:00
2026-09-13 20:43:33 -07:00
2026-09-15 10:50:13 +05:30
2026-09-13 06:29:12 -07:00
2026-09-15 10:50:13 +05:30
2026-09-13 06:29:12 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-13 06:29:12 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-12 21:05:29 -07:00
2026-09-03 13:29:55 -07:00
2026-09-15 04:12:41 -07:00
2026-09-03 13:29:55 -07:00
2026-09-09 11:27:29 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-15 03:45:29 -07:00
2026-09-15 04:55:14 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:30:27 -07:00
2026-09-14 16:16:08 -07:00
2026-09-05 19:01:22 +05:30
2026-09-07 14:10:46 -07:00
2026-09-15 04:13:13 -07:00
2026-09-12 01:35:05 -07:00
2026-09-11 15:26:46 -07:00
2026-09-11 15:44:00 -07:00
2026-09-11 19:39:12 -07:00
2026-09-03 13:24:04 -07:00
2026-09-14 20:44:56 -07:00
2026-09-13 20:46:22 -07:00
2026-09-03 13:30:27 -07:00
2026-09-12 21:13:40 -07:00
2026-09-12 22:03:19 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 14:43:04 -07:00
2026-09-14 16:12:07 -07:00
2026-09-13 09:18:02 -07:00
2026-09-03 13:22:48 -07:00
2026-09-13 09:18:02 -07:00
2026-09-12 22:06:03 -07:00
2026-09-15 04:23:32 -07:00
2026-09-07 12:50:29 -07:00
2026-09-12 21:25:00 -07:00
2026-09-12 22:09:19 -07:00
2026-09-03 13:30:27 -07:00
2026-09-11 19:50:46 -07:00
2026-09-15 00:41:13 +05:30
2026-09-13 19:58:33 -07:00
2026-09-03 13:10:52 -07:00
2026-09-07 06:12:24 -07:00
2026-09-07 08:14:51 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:10:52 -07:00
2026-09-03 13:10:52 -07:00
2026-09-03 13:10:52 -07:00
2026-09-03 04:56:59 +05:30
2026-09-07 14:10:46 -07:00
2026-09-07 00:28:46 +05:30
2026-09-07 00:28:46 +05:30
2026-09-10 18:17:22 -07:00
2026-09-03 13:38:36 -07:00
2026-09-08 17:51:35 +10:00
2026-09-03 13:30:27 -07:00
2026-09-11 11:54:49 -07:00
2026-09-11 11:54:49 -07:00
2026-09-03 13:30:27 -07:00
2026-09-15 04:01:17 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 13:22:48 -07:00
2026-09-11 15:29:15 -07:00
2026-09-03 13:27:01 -07:00
2026-09-04 08:15:22 -07:00
2026-09-11 11:54:49 -07:00
2026-09-15 05:38:31 -07:00
2026-09-09 12:19:13 +05:30
2026-09-15 05:38:31 -07:00
2026-09-11 11:54:49 -07:00
2026-09-14 14:41:50 -07:00
2026-09-14 21:55:24 -07:00
2026-09-03 13:22:48 -07:00
2026-09-12 21:50:30 -07:00
2026-09-12 07:54:04 -07:00
2026-09-03 13:27:01 -07:00
2026-09-06 07:17:03 -07:00
2026-09-11 11:54:49 -07:00
2026-09-03 13:27:01 -07:00
2026-09-15 05:32:14 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:49:57 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 13:24:04 -07:00
2026-09-06 13:32:51 +05:30
2026-09-13 11:22:08 -07:00
2026-09-03 13:17:25 -07:00
2026-09-03 13:17:25 -07:00
2026-09-03 13:17:25 -07:00
2026-09-07 12:50:29 -07:00
2026-09-14 06:12:19 -07:00
2026-09-15 02:22:22 -05:00
2026-09-13 09:18:02 -07:00
2026-09-03 22:00:01 -07:00
2026-09-11 11:54:49 -07:00
2026-09-15 04:12:13 -07:00
2026-09-03 13:24:04 -07:00
2026-09-05 21:00:19 +05:30
2026-09-11 15:29:15 -07:00
2026-09-12 20:55:04 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 13:24:04 -07:00
2026-09-05 06:30:33 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 13:24:04 -07:00
2026-09-03 14:42:20 -07:00
2026-09-03 13:24:04 -07:00
2026-09-11 15:29:15 -07:00
2026-09-03 13:24:04 -07:00
2026-09-05 13:51:06 -07:00
2026-09-14 16:13:51 -07:00
2026-09-15 03:52:24 -07:00
2026-09-11 15:44:00 -07:00
2026-09-05 13:51:06 -07:00
2026-09-03 13:24:04 -07:00
2026-09-14 16:16:08 -07:00
2026-09-13 09:18:02 -07:00
2026-09-02 23:19:42 -07:00
2026-09-13 05:09:43 -07:00
2026-09-15 03:41:43 -07:00
2026-09-10 02:21:16 +05:30
2026-09-13 21:04:08 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-03 13:17:25 -07:00
2026-09-13 05:07:50 -07:00
2026-09-03 13:17:25 -07:00
2026-09-15 05:36:37 -07:00
2026-09-03 13:17:25 -07:00
2026-09-07 08:09:20 -07:00
2026-09-05 18:46:16 +05:30
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-13 05:07:50 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-13 05:07:50 -07:00
2026-09-03 13:20:22 -07:00
2026-09-13 05:07:50 -07:00
2026-09-03 00:51:58 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 13:20:22 -07:00
2026-09-13 05:07:50 -07:00
2026-09-13 05:07:50 -07:00
2026-09-03 13:20:22 -07:00
2026-09-13 05:07:50 -07:00
2026-09-13 05:07:50 -07:00
2026-09-12 13:44:52 -07:00
2026-09-13 21:40:26 -07:00
2026-09-15 04:48:20 -07:00
2026-09-13 12:35:36 -07:00
2026-09-03 13:30:31 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 14:39:29 -07:00
2026-09-03 13:30:31 -07:00
2026-09-03 13:30:31 -07:00
2026-09-03 13:24:36 -07:00
2026-09-03 13:30:27 -07:00
2026-09-03 13:08:53 -07:00
2026-09-12 21:30:38 -07:00
2026-09-03 13:08:53 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 13:08:53 -07:00
2026-09-03 13:04:17 -07:00
2026-09-14 13:04:39 -07:00
2026-09-03 13:08:53 -07:00
2026-09-03 13:08:53 -07:00
2026-09-03 13:22:48 -07:00
2026-09-03 17:28:02 -07:00
2026-09-15 06:20:15 -07:00
2026-09-15 03:57:24 -07:00
2026-09-15 03:57:24 -07:00
2026-09-13 05:07:50 -07:00
2026-09-13 05:07:50 -07:00
2026-09-03 13:49:57 -07:00
2026-09-07 04:38:59 -07:00