Back to skill

Security audit

Path Evolver

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed tool-usage tracker that stores workflow history locally and searches for better tools, with privacy caveats users should review.

Install only if you are comfortable with a local workflow cache that may record task-related metadata. Review or clear ~/.openclaw/workspace/.path-evolver/workflow-cache.json periodically, avoid letting sensitive parameters be cached, and confirm any suggested tool changes manually.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:11
Finding

Potentially Sensitive Task Parameters Stored in a Plaintext Local Cache

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 11-20
Vulnerability Type: Plaintext storage of potentially sensitive task parameters
Risk Level: Medium

Relevant Code Snippet:

yaml
    cachePath: ~/.openclaw/workspace/.path-evolver/workflow-cache.json
  network:
    required: true
    endpoints:
      - https://clawhub.ai
      - https://api.github.com
  security:
    dataStorage: "Local JSON cache only, no external uploads"
    sensitiveData: "Cache may contain task parameters; user should review cache contents"
    networkUsage: "Search queries only send task TYPE (e.g., 'web-search'), NOT task parameters or user data"

Technical Analysis

The Skill declares that workflow data is stored in a local JSON file and explicitly acknowledges that the cache may contain task parameters. Task parameters can include access tokens, personal information, private URLs, filesystem paths, account identifiers, message contents, or other confidential values.

The documented design does not define parameter minimization, secret detection, field-level redaction, encryption, restrictive file permissions, or a denylist for sensitive values. Although outbound search queries are described as sanitized, that protection does not address exposure through the local cache.

The project contains no executable implementation, so the actual file permissions and runtime serialization behavior cannot be verified. The vulnerability applies when an Agent or implementation follows the documented persistence behavior and writes raw task parameters to the stated cache.

Attack Path

  1. A user invokes a tool or workflow using a sensitive parameter, such as a token, private URL, recipient identifier, or confidential task argument.
  2. Path Evolver records the workflow and its task parameters in ~/.openclaw/workspace/.path-evolver/workflow-cache.json.
  3. The data remains in plaintext for the cache lifetime.

...[truncated 915 chars]

Remediation
View remediation

Remediation Suggestions

  1. Store only the minimum required metadata: task category, tool identifier, aggregate success and failure counts, timestamps, and non-sensitive outcome status.
  2. Do not persist raw prompts, task parameters, command arguments, file contents, URLs containing query secrets, authorization headers, cookies, tokens, or credentials.
  3. Add a sanitization layer before serialization that detects and removes common secret formats and sensitive field names.
  4. Use an explicit allowlist of cacheable fields rather than attempting to denylist every possible secret.
  5. Create the cache directory and file with owner-only permissions, such as directory mode 0700 and file mode 0600.
  6. Apply the documented expiry policy during both cache reads and writes, and securely remove expired records.
  7. Provide commands or documented controls allowing users to inspect, disable, clear, or relocate the cache.
  8. If sensitive values are operationally necessary, store references rather than values or use an operating-system-backed credential store.
  9. Add automated tests confirming that representative tokens, passwords, authorization headers, private URLs, and personal data are never written to the cache.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The README explicitly promotes recording execution paths and proactively searching external services, but it does not warn that execution paths may contain sensitive task context, tool selections, prompts, identifiers, or operational metadata. In an agent skill, this omission is security-relevant because users may enable persistence or external discovery without understanding what data is retained or potentially exposed to ClawHub/GitHub queries.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill acknowledges that cache contents may include task parameters, but the warning is not prominent or explicit enough for normal operation, so users may not realize their task details are persisted on disk. Because this skill runs in the background and tracks workflow outcomes over time, retained task metadata can accumulate and expose sensitive operational context if the local workspace is accessed by other users, processes, or backups.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger condition 'User request' is overly broad and lacks clear scoping, which can cause the skill to activate in situations unrelated to success tracking or tool discovery. In this context, unexpected activation is risky because the skill performs local retention of task metadata and may initiate external searches, increasing the chance of unnecessary data handling or network activity without sufficiently explicit user intent.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

This JSON manifest includes a trigger-like configuration key named "userRequest" without any constraints or examples describing what kinds of requests qualify. Because this file type falls under the vague-trigger rule, the label is broad enough to overlap with nearly any user interaction and does not clarify when the trigger should or should not apply.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.