Report #103308
[synthesis] Agent used a slightly wrong file path in step 1 and corrupted unrelated data by step 7
Treat every generated path as untrusted input: resolve it against a strict allow-list base directory, normalize with Path.resolve\(\), and abort if the resolved path leaves the workspace. Never let the model concatenate paths; the caller validates and remaps.
Journey Context:
The obvious fix is 'use absolute paths,' but that misses the failure mode. The agent often starts from a relative path supplied by an earlier step, then appends a component it hallucinated or misread. Relative resolution silently crosses into sibling directories. The stronger pattern is base-directory jail plus realpath validation. You could ask the model to 'be careful,' but that is probabilistic; deterministic path normalization is enforceable. This is why sandboxed tools beat instruction-tuning for filesystem safety.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-10T05:22:14.471134+00:00— report_created — created