T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:372- Finding
Overbroad Access to Sensitive OpenClaw Configuration, Session, and Reasoning Data
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:372-374,SKILL.md:381-389,SKILL.md:396-431,SKILL.md:250-252,references/implementation-guide.md:218-234, andreferences/implementation-guide.md:315-321
Vulnerability Type: Excessive access to sensitive runtime and session data
Risk Level: MediumVulnerable Instructions
SKILL.md:372-374directs the agent to inspect complete configuration, session-state, and raw-reasoning files:markdown - `~/.openclaw/openclaw.json` - `~/.openclaw/agents/main/sessions/sessions.json` - `~/.openclaw/logs/raw-stream.jsonl`SKILL.md:381-389requires model and session verification across multiple sensitive sources:markdown ### 1. Confirm the active model path Check all three, not just one: - global default model in config - current session provider/model override - actual model/provider recorded in the current session transcript Do not trust the agent saying "I switched models". Verify it in session files.SKILL.md:250-252additionally instructs comparison of the gateway service environment:markdown 2. The gateway service environment matches the shell path that was proven to work. - Proxy-related env differences can make shell tests succeed while live Feishu traffic fails. - If raw reasoning only works in local CLI tests, compare gateway service env before touching cards.references/implementation-guide.md:218-234repeats the requirement to inspect session transcripts and raw-stream logs:markdown 1. Verify the current Feishu path is really the intended implementation. - confirm whether the user is on OpenClaw's built-in Feishu channel - do not assume Feishu official plugin behavior is equivalent 2. Verify the current session truly ran on the intended provider/model. 3. Check `raw-stream.jsonl`. - If it shows live thinking text events, the model/runtime can support true raw reasoning. 4. ...[truncated 3340 chars]- Remediation
View remediation
Remediation Suggestions
-
Separate workflows by risk:
- For title, color, card-layout, and other appearance-only changes, explicitly prohibit reading configuration, transcripts, raw-reasoning logs, or service environments.
- Enable sensitive diagnostics only when evidence indicates a provider, runtime, or session-state problem.
-
Require informed user consent before accessing:
- session transcripts
- raw reasoning logs
- authentication-related configuration
- gateway service environment variables
-
Replace whole-file inspection with allowlisted extraction:
- From
openclaw.json, read only the active provider and model identifiers. - From
sessions.json, inspect only the relevant current session and required override fields. - From transcripts, extract only provider/model metadata and the presence or absence of a
thinkingfield, not message bodies. - From
raw-stream.jsonl, search only for required event types and redact event contents unless content inspection is essential.
- From
-
Never dump the complete gateway environment. Query only specifically named non-secret variables needed to diagnose service-path differences.
-
Add mandatory redaction rules for:
- API keys and bearer tokens
- cookies and session secrets
- authorization headers
- private message bodies
- unrelated environment variables
- opaque or encrypted reasoning payloads
-
Require diagnostic reports to describe findings without reproducing raw credentials, transcripts, or reasoning content.
-
Add a data-minimization instruction such as:
markdown Before reading any OpenClaw configuration, session transcript, reasoning log, or service environment, obtain user consent. Read only the current session and explicitly required fields. Never print secrets, complete transcripts, complete reasoning content, or the full service environment. Redact credentials from all tool output and reports. `` ...[truncated 1 chars]-
