T09 · Insecure Skill Coding Practices
- Location
scripts/manage_models.py:114- Finding
Existing OpenClaw Configuration Can Be Silently Replaced After a Load Failure
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill mostly does what it says, but its enable command persistently changes OpenClaw model configuration and can overwrite existing settings after a config read failure.
Install only if you are comfortable with a model-pricing skill modifying ~/.openclaw/openclaw.json. Use the list function as read-only, and before using enable, make your own backup and inspect the intended config changes because the script can overwrite existing OpenClaw settings if the current config cannot be parsed.
scripts/manage_models.py:114Existing OpenClaw Configuration Can Be Silently Replaced After a Load Failure
The description presents the skill as a simple pricing viewer, but the documented behavior includes modifying ~/.openclaw/openclaw.json, creating backups, and enabling models in local application setup. This mismatch is dangerous because it can mislead users into invoking a skill with side effects they did not expect, which undermines informed consent and can alter local configuration or agent behavior.
The skill advertises capabilities that include network access and local file modification, but it does not declare any explicit tool scope or permissions boundary. This is dangerous because users and orchestrators cannot easily see that the skill may write to local configuration files and access external services, increasing the chance of unintended or overly broad execution.
The trigger phrases are broad enough that the skill may activate in response to generic user requests about models or pricing. In a skill that also performs configuration changes, ambiguous activation increases the risk that a user intending only to inspect prices could be routed into a workflow that proposes or performs local config changes.
The skill documentation mentions an enable command but does not clearly warn that it modifies a local configuration file. This is dangerous because users may treat the command as a harmless selection action when it actually changes persistent local state, potentially affecting later runs or model routing behavior.
The script’s advertised purpose is a simple model pricing viewer, but it also performs task classification and modifies local configuration under ~/.openclaw/openclaw.json. This scope expansion is dangerous because users may grant trust or permissions based on the narrower description, while the hidden write-capable behavior can alter agent/model settings and influence downstream behavior unexpectedly.
The task classification and planning logic is unrelated to a price-finder’s stated function, creating unnecessary capability creep. While it is not directly code-executing or exfiltrating data, such hidden extra behavior increases attack surface and can be used to steer users’ model choices or normalize broader-than-advertised behavior in a supposedly simple utility.
No suspicious patterns detected.