T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:14- Finding
Overbroad Access to Sensitive Configuration and Operational Metadata
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 14-29 and 49-52
Vulnerability Type: Excessive diagnostic access beyond least-privilege requirements
Risk Level: MediumRelevant Source Excerpt
The following is an English translation of the relevant instructions:
text ### 1. System Status - OpenClaw version - Node.js version - Uptime and memory usage - Gateway process status ### 2. Configuration Checks - Whether the configuration file is valid (openclaw.json) - Channel connection status (Feishu, Telegram, etc.) - Whether model configuration is correct - Whether permission settings are reasonable ### 3. Model Connectivity - Whether the primary model responds normally - Whether fallback models are available - Whether API keys are valid AI invocation steps: 1. Inspect the openclaw.json configuration file 2. Execute `openclaw status` to obtain system status 3. Execute `openclaw cron list` to inspect scheduled tasksTechnical Analysis
The Skill directs an AI agent to inspect the complete
openclaw.jsonconfiguration file and collect process status, channel connections, model configuration, credential validity, resource consumption, and scheduled-task information.These checks are consistent with the advertised diagnostic purpose, and the Skill explicitly says not to modify configuration. However, reading an entire configuration file is broader than necessary when the required result is only a health summary. Configuration files can contain API keys, channel credentials, endpoint details, account identifiers, and permission settings. Redacting secrets only in the final report does not prevent those values from first entering model context, execution logs, tool traces, or telemetry.
The instructions do not define an allowlist of fields, require confirmation before credential-related inspection, or mandate redaction before information is passed to the model. This creat ...[truncated 1488 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace full-file inspection with a dedicated status command or parser that returns only explicitly approved fields.
- Define an allowlist for configuration properties that may be inspected, such as version identifiers and boolean connectivity status.
- Exclude credential values, authorization headers, tokens, private endpoints, and unrelated configuration sections before data reaches model context.
- Require explicit user confirmation before inspecting credential status, permission configuration, channel details, or scheduled-task metadata.
- Perform secret detection and redaction inside the local tool boundary rather than relying only on the AI to redact its final response.
- Return only aggregate cron information unless the user specifically authorizes disclosure of task names and execution details.
- Run diagnostic commands with a restricted account and document the minimum required filesystem and command permissions.
- Ensure tool traces, telemetry, and debug logs apply the same redaction policy as the final report.
