T05 · Unauthorized Access and Privilege Escalation
- Location
` interface, causing message and error content from a selected unrelated session to be parsed and returned. ### Impact Assessment The affected scope includes conversation histories readable by the current operating-system account under: - `~/.codex/sessions` - `~/.codex/history.jsonl` - `~/.openclaw/agents/*/sessions` - `~/.gemini/tmp/*/chats` Information exposed during discovery can include: - Absolute conversation-file paths - Conversation timestamps and sizes - AI tool identities - OpenClaw agent id ...[truncated 819 chars]:139- Finding
Cross-Project AI Conversation History Enumeration
- Content
View full analysis
list: codex_sessions = os.path.expanduser("~/.codex/sessions") conversations = [] if not os.path.isdir(codex_sessions): return conversations for f in glob.glob(os.path.join(codex_sessions, "**", "rollout-*.jsonl"), recursive=True): info = _file_info(f) info["tool"] = "codex_cli" info["project"] = os.path.dirname(f).replace(codex_sessions, "").strip("/") conversations.append(info) history = os.path.expanduser("~/.codex/history.jsonl") if os.path.isfile(history): info = _file_info(history) info["tool"] = "codex_cli" info["project"] = "global_history" conversations.append(info) ``` `scripts/parse_conversations.py:195-211`: ```python def find_openclaw(project_dir: str = None) -> list: openclaw_dir = os.path.expanduser("~/.openclaw/agents") conversations = [] if not os.path.isdir(openclaw_dir): return conversations for agent_dir in os.listdir(openclaw_dir): sessions_dir = os.path.join(openclaw_dir, agent_dir, "sessions") if not os.path.isdir(sessions_dir): continue for f in glob.glob(os.path.join(sessions_dir, "*.jsonl")): info = _file_info(f) info["tool"] = "openclaw" info["project"] = agent_dir conversations.append(info) conversations.sort(key=lambda x: x["modified"], reverse=True) return conversations[:20] ``` `scripts/parse_conversations.py:265-280`: ```python def find_gemini(project_dir: str = None) -> list: gemini_tmp = os.path.expanduser("~/.gemini/ ...[truncated 5260 chars]- Remediation
View remediation
