Back to skill

Security audit

Openclaw Client Onboarding

Security checks for vulnerabilities and agentic risk

Overview

The skill has a coherent onboarding purpose, but it asks the agent to create persistent customer files using the customer name directly as a folder path without scoping or safety checks.

Review before installing. Use this only in a workspace where creating client records is intended, confirm before writing files, sanitize customer names into safe folder identifiers, and avoid storing unnecessary sensitive customer data in notes or invoices.

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:31
Finding

Unsanitized Customer Name Used in Filesystem Path

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 31–35
Vulnerability Type: Path Traversal / Arbitrary File Write
Risk Level: Medium

Vulnerable Code

text
In `clients/{customer name}/`, create:
- `config.json` - Configuration file
- `notes.md` - Customer notes
- `invoice.md` - Quotation

The snippet above is an English translation of the original instructions at the specified location.

Technical Analysis

The Skill instructs the agent to construct a directory path by inserting a customer-controlled name into clients/{customer name}/. It does not require validation, sanitization, canonicalization, or verification that the resolved destination remains beneath the intended clients/ directory.

A name containing path separators, .. components, or an absolute path could therefore escape the intended directory. The three generated files could then be created in, or overwrite files within, another writable project or workspace location. Symlink-based redirection is also not addressed.

Attack Path

  1. An attacker submits an onboarding request and provides a crafted customer name, such as ../../skills/target.
  2. The agent substitutes that value directly into the documented clients/{customer name}/ path.
  3. The resulting path resolves outside the intended clients/ directory.
  4. The agent creates config.json, notes.md, and invoice.md in the attacker-selected writable directory.
  5. If files with those names already exist and overwrite protection is absent, their contents may be replaced.

Impact Assessment

Exploitation does not directly grant privileges beyond those already held by the agent process. Within those privileges, however, an attacker may cause arbitrary creation or replacement of the three fixed filenames in unintended writable locations.

The affected scope includes the current workspace and any other filesystem paths writable by the agent. Potential c ...[truncated 313 chars]

Remediation
View remediation

Remediation Suggestions

  1. Convert the customer-visible name into a separate safe identifier rather than using it directly as a path component.
  2. Enforce a strict allowlist, such as ^[A-Za-z0-9_-]{1,64}$, and reject path separators, absolute paths, empty values, . and ...
  3. Join the validated identifier to a fixed clients base directory and canonicalize the destination.
  4. Verify that the canonical destination is a strict descendant of the canonical clients/ directory before creating files.
  5. Reject existing symbolic links in every destination path component, or use filesystem operations that do not follow symlinks.
  6. Create new files with exclusive-creation semantics and require explicit authorization before overwriting existing records.
  7. Store the original customer name only as escaped data inside the generated files, not as an untrusted filesystem path.
  8. Document failure behavior so the agent refuses unsafe names instead of attempting to normalize ambiguous traversal input.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The entire skill is written in Chinese and implicitly directs operation in that language, but it does not offer a language choice or explain that the skill is limited to Chinese-speaking users or a China-specific deployment context. This can violate language/locale policy where user opt-in or documented justification is required.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The activation trigger is overly broad: any vague mention of an OpenClaw installation or configuration order could cause the skill to run and begin collecting customer information and preparing operational artifacts without clear user confirmation. In this skill’s context, that can lead to unintended processing of customer data, accidental quote generation, or file creation based on ambiguous requests.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill instructs the agent to create customer records, configuration files, notes, and invoices under a client directory but does not warn the user that persistent files containing potentially sensitive business or personal information will be created. This increases the risk of silent data retention, privacy violations, and accidental storage of confidential customer information without informed consent.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.