mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-10-28 22:20:35 +00:00
* fix(sandbox): require a path start before translating virtual and host roots Path translation only checked the right-hand segment boundary (#4035, #4053), so a root embedded in a longer path or URL was rewritten too. DeerFlow's own artifact URLs contain /mnt/user-data, so curl .../artifacts/mnt/user-data/outputs/x.html had the thread's host directory spliced into the URL, and a mount at /data turned an unrelated /var/data/app.log into /var/mnt/data/app.log in model-visible output. Add a shared left-hand PATH_START_BOUNDARY: a root must not follow a word character, '.', '~' or '-'. '/' is still allowed so file:///mnt/user-data keeps mapping. It applies to the bash command rewrite, LocalSandbox command/content resolution, and both reverse masking paths. * refactor(sandbox): derive the path-start lookbehind from one class Build PATH_START_BOUNDARY from _PATH_START_BLOCKERS so the regex and scanner paths cannot drift, and document the attached short-option value (-o/data/x) as a known false negative of the start rule. --------- Co-authored-by: Willem Jiang <willem.jiang@gmail.com>