π Fix arbitrary file write / path traversal via session_id#13
π Fix arbitrary file write / path traversal via session_id#13google-labs-jules[bot] wants to merge 1 commit into
session_id#13Conversation
Sanitized `session_id` to prevent path traversal vectors and arbitrary file writing. Expanded tests to cover adversarial payloads.
|
π Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a π emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
|
Closing in favor of #17, which consolidates all 16 open hook PRs into one coherent change (they overlapped and conflicted with each other, so they could not be merged independently). Superseded by #17. This fixed only security_guard and left secret_scanner vulnerable; #17 fixes both in the shared util. Your .gitignore and the path-traversal regression test idea were kept. |
Understood. Acknowledging that this PR is superseded by #17 and stopping work on this task. |
π― What: Fixed an arbitrary file write / path traversal vulnerability where the
session_idparameter (derived from unvalidated JSON tool inputs) was unsafely interpolated into the~/.claude/.seal_guard_state_{session_id}.jsonfile path.session_idlike../../../etc/passwdor similar path traversal sequences could write state files across the filesystem, potentially overwriting user files or causing unexpected application behavior if sensitive files were corrupted or overwritten.π‘οΈ Solution: Used
re.sub(r"[^a-zA-Z0-9_-]", "_", str(session_id))to sanitize any hazardous characters from the string before using it to build the file path. Appended a newtest_security_guard.pysuite demonstrating that it handles normal session ids and properly mitigates path traversal attacks.PR created automatically by Jules for task 7162296469594203018 started by @zknpr