Intent-Code Divergence
Medium
- Confidence
- 94% confidence
- Finding
- The filename sanitizer only applies in addGoal(), but loadTaskFile() and saveTaskFile() accept arbitrary relative paths and join them directly to the workspace path. In Node.js, path.join(base, '../../x') will traverse outside the intended directory, so any caller that passes untrusted taskPath can read or overwrite files outside memory/tasks within the user's accessible filesystem.
