T09 · Insecure Skill Coding Practices
- Location
SKILL.md:233- Finding
Shell Command Injection Through Unsanitized Configuration Values
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill appears intended to set up OpenViking memory, but it gives the agent broad install/configuration authority and includes unsafe command patterns that could execute unintended local commands.
Review this skill before installing. Only use it with a trusted OpenViking server, avoid pasting untrusted endpoint/API/agent values, and be aware it can install a plugin, change OpenClaw configuration, restart the gateway, and enable persistent remote memory. The unsafe shell substitution and environment-file sourcing should be fixed before routine use.
SKILL.md:233Shell Command Injection Through Unsanitized Configuration Values
SKILL.md:206Unpinned Remote Plugin Installation Creates a Supply-Chain Risk
SKILL.md:269Executable Environment Files Are Dot-Sourced Without Trust Validation
The skill promotes automatic memory across sessions via a remote service but does not present a clear upfront warning that conversation-derived data may be stored externally and persistently. This undermines informed consent and can lead users to disclose sensitive information without understanding that it will be sent to and retained by a remote memory backend.
The trigger phrase "set up memory" is overly broad and can match unrelated requests about device memory, application settings, or non-OpenViking memory features. Because this skill performs installation, configuration, network access, and persistent cross-session changes, accidental activation could cause unintended system modifications.
The activation rule "or shares a link/URL containing this skill" is unclear and overly permissive, allowing the skill to trigger based on incidental URL content rather than explicit user intent. In context, this is risky because the skill autonomously runs install and configuration commands and may connect to arbitrary remote endpoints supplied through conversation.
The skill instructs the agent to source a local environment file (source ~/.openclaw/openviking.env or PowerShell dot-sourcing), which executes arbitrary shell commands from that file in the agent's current context. That is broader than necessary for remote plugin setup and creates a code-execution path from local file contents that may have been modified by another process, prior install step, or attacker.
The skill is designed for autonomous execution and explicitly forbids asking the user to run commands themselves, concentrating decision-making and system modification authority in the agent. In this context, the agent performs installation, configuration changes, network connectivity tests, and service restarts, so weak triggering or insufficient confirmation can turn benign automation into unintended privileged action.
## IMPORTANT RULES
1. **NEVER ask the user to run commands themselves.** You run everything.
2. **NEVER skip the health check (Step 5).** If the server is unreachable, do NOT proceed.
3. **NEVER proceed past a failed step.** Fix or report every error before moving on.
4. **ALWAYS use the exact commands shown.** Do not improvise or combine commands.
The troubleshooting flow dumps the last 20 lines of general OpenClaw logs to the user, which may expose unrelated sensitive data such as tokens, URLs, internal paths, prompts, or other plugin activity. For a setup skill, broad log disclosure exceeds what is needed to verify activation and can leak information across contexts.