garrytan and capy-ai[bot]
58f456acb1
fix(redact): env.value trims the value, keeps a prefix value's longer match, hides the preview and skips PUBLIC names
...
/ship Step 9.4 review fixes for the GSTA-104 env-value scan:
- a value whose environment copy ends in a newline (a key read from a file)
is searched for trimmed, so its leaked form still matches (the length
check already trimmed; the search used the raw value);
- when one credential value is a prefix of another, the dedup key carries the
span length, so the longer value is redacted whole in either order instead
of leaving its tail in the text and dropping its finding;
- the env.value preview is a fixed mask instead of the first characters of a
live credential;
- framework-public names (NEXT_PUBLIC_*_KEY, *_PUBLIC_KEY) are not scanned,
since those values are committed on purpose;
- the header and the processEnv docstring state the name rule (KEY, TOKEN,
SECRET, PASSWORD, PASSWD, any case) and that process.env is the engine's
one ambient input.
Step 7 coverage extensions and a regression test for each fix in
test/redact-env-value.test.ts; docs/capy-install.md names the full rule.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
2026-10-26 04:19:17 +00:00
..
2026-10-01 11:57:48 -07:00
2026-10-25 07:03:51 +00:00
2026-10-17 16:47:50 +00:00
2026-10-16 22:00:32 +00:00
2026-10-25 10:50:18 +00:00
2026-10-17 03:32:16 +00:00
2026-10-17 03:32:16 +00:00
2026-10-20 23:55:41 +00:00
2026-10-05 01:29:54 +00:00
2026-10-14 17:36:39 +00:00
2026-10-17 02:40:45 +00:00
2026-10-17 02:40:45 +00:00
2026-10-17 02:40:45 +00:00
2026-10-17 02:40:45 +00:00
2026-10-20 23:55:41 +00:00
2026-10-13 15:17:39 +00:00
2026-09-22 14:57:52 -04:00
2026-10-16 23:09:23 +00:00
2026-10-20 00:24:28 +00:00
2026-10-17 02:40:45 +00:00
2026-10-17 02:40:45 +00:00
2026-10-17 02:40:45 +00:00
2026-10-17 02:40:45 +00:00
2026-10-13 15:17:39 +00:00
2026-10-17 02:40:45 +00:00
2026-10-10 23:26:08 +00:00
2026-10-11 03:10:06 +00:00
2026-10-04 07:58:41 -07:00
2026-10-20 00:24:28 +00:00
2026-10-20 23:55:41 +00:00
2026-10-25 03:56:50 +00:00
2026-10-02 11:11:00 -07:00
2026-09-06 08:54:25 -07:00
2026-10-20 00:24:28 +00:00
2026-09-14 14:32:45 -07:00
2026-10-08 08:00:08 +00:00
2026-10-16 22:00:32 +00:00
2026-10-11 18:16:33 +00:00
2026-10-07 23:29:05 +00:00
2026-06-14 11:40:57 -07:00
2026-08-15 11:42:19 -07:00
2026-10-11 03:10:06 +00:00
2026-10-18 02:51:19 +00:00
2026-09-08 22:40:22 -07:00
2026-10-26 00:29:01 +00:00
2026-09-08 22:40:22 -07:00
2026-10-01 13:55:16 -07:00
2026-10-17 02:40:45 +00:00
2026-09-08 22:40:22 -07:00
2026-09-08 22:40:22 -07:00
2026-10-17 02:10:12 +00:00
2026-10-17 02:10:12 +00:00
2026-10-01 11:57:48 -07:00
2026-09-06 08:54:25 -07:00
2026-10-19 07:26:49 +00:00
2026-10-17 02:40:45 +00:00
2026-10-17 02:40:45 +00:00
2026-10-11 03:10:06 +00:00
2026-10-20 01:06:17 +00:00
2026-09-14 15:14:58 -07:00
2026-08-24 08:55:58 -07:00
2026-10-18 19:26:19 +00:00
2026-10-18 19:26:19 +00:00
2026-10-17 02:40:45 +00:00
2026-10-11 19:09:12 +00:00
2026-10-16 22:00:32 +00:00
2026-10-25 06:51:16 +00:00
2026-10-04 07:58:41 -07:00
2026-10-25 05:06:30 +00:00
2026-10-04 07:58:41 -07:00
2026-08-15 22:20:30 -07:00
2026-10-07 23:29:05 +00:00
2026-06-08 06:20:58 -07:00
2026-10-01 11:57:48 -07:00
2026-10-02 11:11:00 -07:00
2026-10-07 23:29:05 +00:00
2026-10-25 10:50:18 +00:00
2026-10-17 02:40:45 +00:00
2026-06-14 11:40:57 -07:00
2026-10-16 23:09:23 +00:00
2026-08-15 09:37:04 -07:00
2026-10-11 03:10:06 +00:00
2026-10-20 23:55:41 +00:00
2026-10-04 07:58:41 -07:00
2026-10-11 19:09:12 +00:00
2026-10-12 13:17:02 -07:00
2026-10-08 08:00:08 +00:00
2026-10-08 08:00:08 +00:00
2026-10-08 08:00:08 +00:00
2026-10-25 01:25:19 +00:00
2026-10-08 08:00:08 +00:00
2026-10-08 08:00:08 +00:00
2026-10-08 08:00:08 +00:00
2026-10-20 19:02:57 +00:00
2026-10-11 19:09:12 +00:00
2026-10-25 06:38:53 +00:00
2026-10-11 00:32:15 +00:00
2026-10-11 00:32:15 +00:00
2026-10-24 23:55:21 +00:00
2026-10-11 16:48:11 +00:00
2026-10-16 23:09:23 +00:00
2026-10-20 23:55:41 +00:00
2026-10-13 21:31:07 +00:00
2026-10-20 00:24:28 +00:00
2026-10-22 19:57:52 +00:00
2026-10-01 11:57:48 -07:00
2026-10-26 04:19:17 +00:00
2026-10-24 14:04:54 +00:00
2026-10-18 01:54:14 +00:00
2026-10-02 11:11:00 -07:00
2026-10-25 03:56:50 +00:00
2026-10-20 23:55:41 +00:00
2026-10-19 10:29:44 +00:00
2026-10-25 10:50:18 +00:00
2026-10-25 10:37:48 +00:00
2026-10-17 00:41:41 +00:00
2026-10-16 22:00:32 +00:00
2026-10-20 00:24:28 +00:00
2026-10-13 15:38:41 +00:00
2026-10-19 10:29:44 +00:00
2026-10-25 03:56:50 +00:00
2026-10-25 03:56:50 +00:00
2026-10-19 10:29:44 +00:00
2026-10-25 03:56:50 +00:00
2026-10-25 03:56:50 +00:00
2026-10-25 03:56:50 +00:00
2026-10-25 03:56:50 +00:00
2026-10-25 03:56:50 +00:00
2026-10-17 03:32:16 +00:00
2026-10-17 03:32:16 +00:00
2026-10-13 15:17:39 +00:00
2026-10-11 00:32:15 +00:00
2026-10-17 02:40:45 +00:00
2026-06-07 06:51:10 -07:00
2026-10-17 03:32:16 +00:00
2026-10-03 18:49:34 -07:00
2026-08-16 09:53:31 -07:00
2026-10-03 18:49:34 -07:00
2026-10-18 06:03:18 +00:00
2026-10-25 03:56:50 +00:00
2026-10-04 07:58:41 -07:00
2026-08-15 09:37:04 -07:00