Skip to content

Commit effa17c

Browse files
committed
chore: capture iss-76 (json error surface leaks absolute paths)
Filed during the iss-29 security review: cli.Run routes all command errors through the --json envelope, so any verb returning a bare *fs.PathError emits the absolute local path into machine JSON. iss-29 sanitised the docs-lint branch; the systemic boundary fix is iss-76. Assisted-by: Claude:claude-opus-4-8
1 parent 5c4542d commit effa17c

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
schema_version: 1
3+
id: "iss-76"
4+
slug: "json-error-abspath-leak"
5+
severity: "minor"
6+
category: "bug"
7+
source: "agent-finding"
8+
found_during: "2026-07-12 /abcd:run iss-29 security review"
9+
---
10+
11+
cli.Run now routes all command errors through the --json envelope, so any verb that returns a bare *fs.PathError (os.ReadFile/os.Open failures not wrapped by core) emits the absolute local path into machine JSON output, violating no-absolute-paths-in-machine-output. iss-29 sanitised the docs-lint config-load branch specifically; the systemic fix is to sanitise PathError-bearing errors at the Run() boundary (or audit which errors reach the envelope). Detector: a table test that runs each verb's known filesystem-error path under --json and asserts the envelope carries no absolute path. Pre-existing as stderr text; newly widened to --json by cli.Run.

0 commit comments

Comments
 (0)