Back to skill

Security audit

xianyu-search

Security checks for vulnerabilities and agentic risk

Overview

This shopping skill mostly creates second-hand marketplace search links, but it needs review because it includes unsafe MDM-bypass purchase wording and a risky unpinned install command.

Before installing, verify the ClawHub CLI package identity and prefer a pinned scoped installer instead of `npx clawhub@latest`. Treat this skill as a link generator and checklist helper, not as a verified real-time listing scraper. Do not buy devices described as enterprise MDM, managed, activation-locked, or bypassed unless the legitimate owner or organization has fully de-enrolled them; the skill should be updated to reject those listings outright.

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
INSTALL.md:15
Finding

Unpinned and Inconsistent ClawHub CLI Package Execution

Content
View full analysis

Vulnerability Details

File Location: INSTALL.md:15-18
Vulnerability Type: Supply-chain exposure through an unpinned and inconsistent package reference
Risk Level: Medium

Vulnerable Code

markdown
### Method 2: Install from ClawHub (not yet published)

```bash
npx clawhub@latest install xianyu-search
text

The package name conflicts with the scoped CLI identified in `PUBLISH.md:7-9`:

```markdown
```bash
# 1. Install the ClawHub CLI
npm install -g @openclaw/clawhub
text

### Technical Analysis

The installation command instructs users to execute `clawhub@latest` through `npx`. This creates two related supply-chain risks:

1. The mutable `latest` tag does not pin the executable package to a reviewed version.
2. The unscoped package name `clawhub` differs from the documented scoped package `@openclaw/clawhub`.

`npx` can retrieve and execute package code from the configured registry. Therefore, installation runs code that is not part of the audited project and whose effective contents may change after this project has been reviewed. If the unscoped package is unrelated, compromised, or controlled through package-name confusion, the command may execute attacker-controlled lifecycle or CLI code.

This finding concerns the documented installation path. The audited project itself declares no runtime dependencies and its executable JavaScript does not fetch or execute remote code.

### Attack Path

1. A user follows the installation instructions in `INSTALL.md`.
2. The user runs:
   ```bash
   npx clawhub@latest install xianyu-search
  1. The package manager resolves the mutable latest release of the unscoped clawhub package from the configured registry.
  2. Package lifecycle hooks or CLI entry-point code execute with the user's current privileges.
  3. If that package or release is malicious or compromised, it can perform arbitrary actions available to the user before or instead of installing the intended skill.

Impact Assessm

...[truncated 636 chars]

Remediation
View remediation

Remediation Suggestions

  1. Use the verified scoped package consistently across all documentation:

    bash
    npx --yes @openclaw/clawhub@<audited-version> install xianyu-search
    
  2. Replace <audited-version> with an exact version rather than a mutable tag such as latest.

  3. Confirm the package's official registry identity and ownership before publishing the command.

  4. Keep INSTALL.md, PUBLISH.md, and release documentation synchronized so they all reference the same package.

  5. Where possible, publish and verify package integrity metadata, signed releases, or checksums.

  6. Advise users to run installation without elevated privileges and to review package provenance before execution.

Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (36)

Natural-Language Policy Violations

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The changelog normalizes '企业 MDM 机 - 需要绕过' as part of product evaluation guidance, which implicitly endorses bypassing enterprise device-management controls. Even as documentation, this can steer users toward acquiring or using restricted corporate devices in ways that violate security policy and potentially enable unauthorized access or misuse.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The documentation claims the skill only generates search URLs and requires manual browsing, but the example output shows concrete listing details, item links, and ranked recommendations as if external listing data had already been collected. This mismatch can mislead operators and downstream agents about the skill's real behavior or capabilities, creating unsafe trust assumptions around hidden scraping, browsing, or fabricated results.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The file explicitly states there are no network requests or direct scraping, yet later documents multi-platform recommendations and item-specific links that would normally require external retrieval. Such contradictory claims are dangerous because they obscure the true data flow and can bypass reviewer scrutiny for network access, scraping, privacy exposure, or hallucinated transactional guidance.

Content

No source excerpt is available for this finding.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 20)May include surrounding context.

md
- `search.js` - 核心逻辑,可独立运行,生成搜索链接和推荐报告

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 164)May include surrounding context.

md
- `search.js` - 核心逻辑,可独立运行,生成搜索链接和推荐报告

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 21)May include surrounding context.

md
- `templates.js` - 纯模板模块,**无外部依赖**,所有配置内联定义

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 165)May include surrounding context.

md
- `templates.js` - 纯模板模块,**无外部依赖**,所有配置内联定义

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 22)May include surrounding context.

md
- `utils.js` - 工具函数,无副作用

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 166)May include surrounding context.

md
- `utils.js` - 工具函数,无副作用

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 167)May include surrounding context.

md
| `SKILL.md` | 技能配置文件 |

Natural-Language Policy Violations

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The template explicitly labels '企业 MDM 机' as something that '需要绕过,有风险', which normalizes or recommends bypassing enterprise device management restrictions. Even though this file is only generating text, the skill context is a second-hand device buying assistant, so presenting MDM-locked devices as bypass candidates can facilitate acquisition and circumvention of access controls on potentially unauthorized corporate assets.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
83% confidence
Finding

The entire skill-facing document is written in Chinese, and there is no indication that users may choose another language or that the skill is intentionally limited to a Chinese-only regional audience. Under the language/locale policy, forcing a specific language without opt-in can be a natural-language policy violation.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

Lines L012-L013 state the skill 'does not perform network scraping or external reporting' and is suitable for direct use, but L021-L024 later says it supports browser automation to fetch real-time product lists. This is not merely incomplete documentation; it is an active contradiction about whether the skill performs external/network-backed retrieval.

Content

No source excerpt is available for this finding.

Ssd 4

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The staged '避坑提醒' workflow includes enterprise MDM devices under a category described as requiring a bypass, which makes security-control circumvention sound like a routine handling step. In the context of a consumer resale-search skill, this increases the chance that users will treat managed-device restrictions as obstacles to defeat rather than indicators to avoid the item entirely.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The install command uses npx clawhub@latest, which fetches and executes the newest published package version at install time rather than a pinned, reviewed release. This creates a supply-chain risk: if the package is compromised, typo-squatted, or a malicious update is published, users may execute attacker-controlled code during installation.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The usage examples rely on broad natural-language phrases like '帮我找...' and '搜索...' without clearly defining trigger boundaries, required invocation context, or exclusion rules. In agent environments, this can cause accidental activation or misrouting, where unrelated user text is interpreted as a command, leading to unintended tool use or data handling.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This markdown file consistently presents the skill as Chinese-only, including the title, instructions, and all usage examples, without indicating that users may interact in another language or choose their preferred locale. Under the policy rule for natural-language violations, forcing a specific language without user opt-in is a reportable issue.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The entire skill description, examples, outputs, and guidance are presented only in Chinese, with no indication that users may choose another language or that the skill is intentionally restricted to a Chinese-language audience. Under the policy, forcing a specific language without user opt-in is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The README advertises very generic natural-language triggers such as '帮我找闲鱼上的...' and '搜索二手 iPhone 13...', which are likely to overlap with ordinary user requests in a host assistant. This can cause unintended invocation of the skill, routing user queries into this skill without explicit consent and potentially exposing user intent, search parameters, or downstream links unexpectedly.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This markdown file uses only Chinese for headings, instructions, and examples, which can amount to a language/locale policy violation when no user opt-in or alternative language is offered. The file does not indicate that the skill is region-specific or that Chinese is a justified requirement.

Content

No source excerpt is available for this finding.

Ssd 2

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The phrase '企业 MDM 机 - 需要绕过' normalizes selecting devices that require bypassing enterprise device management controls. Even though this is only release-note text, it promotes evasion of security protections and could steer users toward unauthorized access or purchase of improperly managed devices.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The trigger phrases are broad everyday requests such as asking to search Xianyu or check prices, which increases the chance the skill is invoked unintentionally in general shopping conversations. Over-broad activation can cause unexpected context capture, confusing outputs, or routing to a skill with misleading capability claims.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The natural-language trigger phrase "帮我找闲鱼上的 MacBook Air M1 预算 2300" is broad enough to overlap with ordinary conversation, which can cause unintended skill activation when a user is merely discussing shopping rather than explicitly invoking the tool. In an agent setting, accidental activation may initiate searches, expose user intent, or chain into downstream actions without a clear confirmation boundary.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The update summary proposes "一键下单验货" (one-click order placement for inspection) without any warning, approval checkpoint, or transactional safeguard. In a commerce-related skill, this raises the risk of unauthorized purchases or costly user-impacting actions if the capability is later implemented and invoked automatically or accidentally.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

This manifest describes the skill in very broad terms as searching second-hand platforms and intelligently parsing natural language, but it does not define specific invocation phrases, scope boundaries, or negative examples. In a manifest file, that ambiguity can cause unintended activation from common shopping-related requests that mention used goods or platform names.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.