-
-
Notifications
You must be signed in to change notification settings - Fork 40k
Labels
bugSomething isn't workingSomething isn't working
Description
Description
Session transcript files in ~/.openclaw/agents/<agentId>/sessions/*.jsonl are being created with 644 (world-readable) permissions instead of 600 (user-only).
These files contain full conversation history, which may include sensitive information like API keys, tokens, or credentials that were discussed or accidentally pasted.
Expected Behavior
Session files should be created with 0o600 permissions, matching the security model applied to other sensitive files like openclaw.json, auth-profiles.json, etc.
Actual Behavior
New .jsonl session files are created with 0o644 permissions:
-rw-r--r-- 1 user staff 5019 Feb 2 23:47 56690efd-4f5f-4876-9c3a-9d3893982d15.jsonl
Evidence
openclaw security audit --fixcorrectly sets directory permissions but does not iterate over individual session transcript files- Source code in
json-file.jsandconfig/io.jsshows explicitchmod 600calls, but these don't appear to be applied to session transcripts - New files created after manually fixing permissions still have 644
Environment
- OpenClaw version: 2026.1.29
- OS: macOS (Darwin 24.6.0)
- System umask: 022 (default)
Workaround
find ~/.openclaw/agents -name '*.jsonl' -exec chmod 600 {} \;Suggested Fix
- Ensure session transcript writes use explicit
mode: 0o600 - Add
.jsonlfiles toopenclaw security audit --fixscope
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working