Back to skill

Security audit

Openclaw Ui Designer

Security checks for vulnerabilities and agentic risk

Overview

The skill itself is a local UI helper, but its README recommends unpinned installation of unrelated third-party skills, including memory and search skills, which should be reviewed before use.

Install the UI helper only if you need local design suggestions and snippet generation, but do not run the README's recommended combo-install commands unless you separately trust and review those third-party skills and the clawhub package version being executed. The bundled scripts themselves appear local-only and low privilege.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
README.md:45
Finding
Unpinned Installation of Unrelated Third-Party Skills Through npx## Vulnerability Details **File Location**: `README.md`, lines 45-47 **Vulnerability Type**: Supply-chain exposure through unpinned third-party installation commands **Risk Level**: Medium **Vulnerable Code:** ```bash npx clawhub install openclaw-webnovel-writer npx clawhub install openclaw-memory-enhancer npx clawhub install openclaw-search-pro ``` ### Technical Analysis The documentation recommends running `npx clawhub` to install three unrelated third-party Skills. The commands do not pin an exact version of the npm package invoked by `npx`, verify package integrity or signatures, or identify audited versions of the installed Skills. Depending on the local npm configuration and cache state, `npx` can retrieve and execute package code from an external package registry. The effective code executed at installation time may therefore differ from the code reviewed in this project. The subsequently installed writing, memory, and search Skills are also outside this audit's scope and are not required for the declared UI-design functionality. This is a supply-chain risk rather than evidence that the referenced packages are currently malicious. Exploitation requires the user to follow the optional recommendations and a referenced package, distribution channel, account, or Skill release to be compromised or malicious. ### Attack Path 1. A user follows the recommendations in `README.md`. 2. `npx` resolves the unpinned `clawhub` package through the configured npm registry or package source. 3. The resolved package executes with the invoking user's privileges. 4. The command resolves and installs one or more third-party Skills that were not included in this audit. 5. If the npm package or an installed Skill is compromised, its installation or runtime behavior executes attacker-controlled logic. 6. That logic can access resources available to the user or Agent process, subject to operating-system and Agent sandbox restriction ...[truncated 729 chars]
Remediation
## Remediation Suggestions 1. Remove recommendations to install unrelated Skills from this Skill's documentation. 2. Avoid invoking package-manager code through an unpinned `npx` command. Prefer a trusted, separately installed official CLI. 3. If `npx` is unavoidable, pin the CLI to an exact reviewed version and obtain it from an explicitly trusted registry. 4. Pin each recommended Skill to a specific audited release rather than resolving its latest mutable version. 5. Publish verified source locations, checksums, signatures, and maintainers for every recommended dependency. 6. Require users to review each third-party Skill's instructions, scripts, permissions, network behavior, and persistence behavior before installation. 7. Run installation in a least-privileged, isolated environment without access to credentials, sensitive files, or production Agent state. 8. Clearly label third-party recommendations as optional and outside the security scope of this package.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (12)

Tp4

High
Category
MCP Tool Poisoning
Confidence
90% confidence
Finding
The supplied code is narrowly focused on generating static UI component snippets from an in-memory template dictionary via CLI arguments. This partially relates to frontend/UI work, but it does not implement the larger declared purpose of a design assistant that offers professional recommendations on design systems, color schemes, accessibility, responsive layout, or multi-end adaptation. The primary behavior is code generation for a few preset components, which is materially narrower than the description. Therefore this is a description-behavior mismatch.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
The README instructs users to run `npx clawhub install ...` without pinning an exact package version. `npx` resolves the latest published package by default, so a compromised upstream package, typosquat, or malicious update could cause users to execute unexpected code during installation. The surrounding README claims safety, but that does not mitigate the supply-chain risk and may increase trust in unsafe install steps.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
This command uses `npx clawhub` without an explicit version, which makes execution dependent on whatever package version is current at install time. That creates a supply-chain exposure where a malicious or compromised package update could run code on the user's system under the guise of installing a recommended related skill.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
The README again recommends `npx clawhub` with no version pin, exposing users to unreviewed future package changes at execution time. Because this appears in a 'recommended combo install' section, users may run it with elevated trust, increasing the likelihood of supply-chain compromise if the package or dependency chain is abused.

Session Persistence

Medium
Category
Rogue Agent
Content
# UI Designer for OpenClaw

Create beautiful and user-friendly user interfaces.

[中文版本](README.md)
Confidence
60% confidence
Finding
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Lp3

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding
Without declared permissions the skill's intent is opaque and cannot be validated.

Natural-Language Policy Violations

Medium
Confidence
96% confidence
Finding
This code file contains multiple user-facing strings and template text in Chinese, including help text, labels, and console output, but does not provide any user opt-in or alternate locale. That can violate a language/locale policy when the skill is not explicitly documented as region-specific.

Natural-Language Policy Violations

Low
Confidence
88% confidence
Finding
The primary content and usage instructions are presented in Chinese, while only a link to an English version is provided. This can be interpreted as forcing a specific language by default rather than offering an explicit language choice within the skill documentation.

Natural-Language Policy Violations

Low
Confidence
84% confidence
Finding
The user-facing instructions, examples, safety guidance, and operational details are presented almost entirely in Chinese, and the file does not state that the skill is region-specific or provide an opt-in language choice. This can violate a language/locale policy when users are forced into a specific language without prior selection.

Natural-Language Policy Violations

Low
Confidence
97% confidence
Finding
This code file contains multiple natural-language strings and comments in Chinese, including CLI descriptions, status messages, and tips, but provides no option for users to select another language. Under the policy rule for natural-language violations, forcing a specific language without opt-in is a locale/language policy issue.

Intent-Code Divergence

Low
Confidence
95% confidence
Finding
The script's documentation and CLI description indicate it generates UI component code, but on an invalid component request it executes `Colors.RED`, which is never defined in the `Colors` class. This contradicts the implied intent of gracefully reporting a missing component and instead causes an exception in that path.

Natural-Language Policy Violations

Low
Confidence
93% confidence
Finding
This code file contains multiple user-facing strings and comments in Chinese, including the CLI usage, prompts, and result text. Because the skill does not offer language selection or explain that it is intentionally region-specific, it can violate the language/locale policy for natural-language behavior.

Static analysis

No suspicious patterns detected.