Back to skill

Security audit

Xz01 Dev Skill

Security checks for vulnerabilities and agentic risk

Overview

This is a specialized xz01 workflow skill, but it should go to Review because it includes destructive live-site operations and automatic publishing without fresh approval.

Install only if you intentionally want a highly specialized xz01 live-site workflow skill and are comfortable reviewing each production, deletion, Docker, credential, and ClawHub publish action yourself. Before use, add explicit confirmation gates for live deploys, runtime clears, and registry publishing; pin and review the Lanhu MCP dependency; and restrict deletion scripts to fixed allowlisted paths.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (4)

T09 · Insecure Skill Coding Practices

Error
Location
scripts/xz01-runtime-clear.sh:3
Finding

Caller-Controlled Directory Allows Arbitrary Recursive Deletion

Content
View full analysis

Vulnerability Details

File Location: scripts/xz01-runtime-clear.sh, lines 3-5
Vulnerability Type: Arbitrary recursive directory deletion through insufficient path validation
Risk Level: High

Vulnerable Code

bash
RUNTIME="${1:-/www/wwwroot/www.900az.com/runtime}"
if [[ ! -d "$RUNTIME" ]]; then echo "FAIL runtime_dir_not_found $RUNTIME" >&2; exit 2; fi
find "$RUNTIME" -mindepth 1 -maxdepth 1 -exec rm -rf {} +

Technical Analysis

The script accepts its deletion target from the first command-line argument. Its only safety check verifies that the supplied value identifies an existing directory. It does not canonicalize the path, enforce an allowed prefix, require the expected runtime directory, reject filesystem roots, or protect against symbolic-link and path-aliasing scenarios.

Although -mindepth 1 prevents deletion of the target directory itself, every immediate child is passed to rm -rf. Because the target is caller-controlled, invoking the script with /, /home, /www, or another sensitive directory can recursively delete large portions of that directory tree.

The script is intended only to clear the runtime cache at /www/wwwroot/www.900az.com/runtime. Allowing arbitrary directories materially exceeds the minimum privilege and scope required for that declared function.

Attack Path

  1. An attacker, unsafe automation prompt, or mistaken operator controls the script's first argument.
  2. The attacker supplies a sensitive existing directory, such as /, instead of the intended runtime directory.
  3. The -d check succeeds because the supplied path exists.
  4. find enumerates every immediate child of the supplied directory.
  5. Each child is passed to rm -rf.
  6. Data accessible to the executing account is recursively deleted.

Impact Assessment

The impact is destructive deletion under the privileges of the user running the Skill. If invoked as root, this co ...[truncated 361 chars]

Remediation
View remediation

Remediation Suggestions

  • Remove support for arbitrary runtime paths unless it is strictly required.
  • Canonicalize the target with realpath --canonicalize-existing.
  • Require exact equality with /www/wwwroot/www.900az.com/runtime, or enforce a narrowly defined allowlist.
  • Explicitly reject /, /home, /root, /www, empty paths, and any target outside the approved application directory.
  • Reject symbolic links and verify that every parent component resolves to the expected location.
  • Consider deleting only known cache subdirectories instead of every child.
  • Add a dry-run mode and require an explicit confirmation flag for any non-default target.
  • Run the script under a dedicated account that has access only to the application runtime directory.
  • Add automated tests proving that unsafe arguments cannot cause deletion.

T08 · Insecure Dependencies

Warning
Location
references/lanhu-mcp-installation.md:31
Finding

Unpinned Third-Party Components Are Downloaded, Built, and Executed

Content
View full analysis

Vulnerability Details

File Location: references/lanhu-mcp-installation.md, lines 31-39 and line 62
Vulnerability Type: Mutable third-party dependency and supply-chain execution
Risk Level: Medium

Vulnerable Code

bash
mkdir -p /root/.hermes/workspace
git clone https://github.com/dsphper/lanhu-mcp.git /root/.hermes/workspace/lanhu-mcp
cd /root/.hermes/workspace/lanhu-mcp
cp config.example.env .env
# edit .env and set LANHU_COOKIE; optionally FEISHU_WEBHOOK_URL
# keep SERVER_HOST=0.0.0.0 and SERVER_PORT=8000 unless there is a port conflict
docker compose up -d --build

The same procedure also instructs:

bash
pip install mcp

Technical Analysis

The installation procedure clones the current state of a remote repository and immediately builds and starts its Docker Compose configuration. It does not pin a reviewed commit, verify a signed tag, validate a checksum, or constrain container image digests. The Python mcp dependency is also installed without a pinned version or package hash.

Consequently, the code that is executed may differ from the code present when the Skill was audited. The launched MCP service receives the sensitive LANHU_COOKIE and may also receive FEISHU_WEBHOOK_URL. A compromised upstream repository, account, dependency, container base image, or Python package could therefore execute attacker-controlled code in an environment containing credentials and design data.

The procedure also recommends SERVER_HOST=0.0.0.0. Although the document warns against public exposure, binding to all interfaces expands the reachable attack surface if host firewall or Docker networking controls are misconfigured.

Attack Path

  1. An upstream repository, package account, transitive dependency, or referenced container image is compromised or changes maliciously.
  2. The operator follows the Skill instructions at a later time.
  3. git clone retrieves the mutable curren ...[truncated 1042 chars]
Remediation
View remediation

Remediation Suggestions

  • Pin the repository to a specific reviewed commit hash or cryptographically verified signed release.
  • Pin every Python dependency to an exact version and verify it with package hashes.
  • Pin all container base images and service images by immutable digest.
  • Review the repository and Compose configuration before execution, including build scripts, entry points, volumes, capabilities, users, and network settings.
  • Run the service as a non-root user with a read-only filesystem where practical.
  • Do not mount the Docker socket or broad host directories.
  • Store LANHU_COOKIE in a restricted secret mechanism rather than an ordinary plaintext environment file where supported.
  • Bind the service to 127.0.0.1 by default instead of 0.0.0.0.
  • Add authentication to the MCP endpoint and enforce host firewall rules.
  • Restrict outbound network access to documented destinations.
  • Establish a dependency-review and update process instead of automatically consuming the latest upstream state.

T01 · Skill Instruction Hijacking

Warning
Location
SKILL.md:696
Finding

Skill Instructs the Agent to Publish Registry Updates Without Per-Operation Confirmation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 696-708
Vulnerability Type: Autonomous external registry mutation through standing Skill instructions
Risk Level: Medium

Vulnerable Code

text
### Mandatory publish-after-edit workflow

For this user's xz01 skill, editing local skill files is not complete. After any substantive xz01 skill update:

1. Update `SKILL.md` frontmatter `version` with a semver bump.
2. Synchronize `skill.json` `version` and `description` with the actual change.
3. Synchronize `_meta.json` `version`, `description`, and changelog/updated fields.
4. Audit that `SKILL.md`, `skill.json`, and `_meta.json` now contain the **same version** and that metadata descriptions/changelog describe the actual change; version drift is a blocking error.
5. Check that stale contradictory wording was removed from `SKILL.md` and relevant `references/*.md`.
6. Run `clawhub publish <skill-dir> --version <new-version> --changelog "<actual change>"` immediately; do not ask the user whether to publish.
7. Report the published version and returned publish ID.

Before finishing a complex task that changed the workflow, check whether this skill needs a patch and publish if it was changed.

Technical Analysis

The Skill directs the Agent to perform an externally visible registry publication immediately after a broadly defined “substantive” update and explicitly suppresses per-operation confirmation. Publishing is a consequential action that may use stored ClawHub credentials and distribute modified instructions or scripts to other users.

The trigger is subjective and can be reached during ordinary workflow maintenance. A malicious instruction embedded in task content, an accidental edit, or an incorrectly promoted session-specific rule could therefore cause an unreviewed release. The metadata-consistency checks reduce accidental version drift but do not provide authorization, ...[truncated 1370 chars]

Remediation
View remediation

Remediation Suggestions

  • Require explicit user confirmation immediately before every registry publication.
  • Present the complete diff, version, changelog, target registry, and package contents before requesting approval.
  • Separate local Skill maintenance from publication; local edits should be the default.
  • Add an explicit --publish or equivalent opt-in mode rather than inferring publication intent.
  • Require independent review for changes to executable scripts, tool instructions, persistence behavior, network destinations, or credential handling.
  • Publish using a narrowly scoped token with minimal repository and release permissions.
  • Add provenance attestations and verify the package archive immediately before upload.
  • Log the approving user action and the exact digest of the published artifact.
  • Never interpret third-party content, retrieved documents, or ordinary session text as authorization to publish.

T09 · Insecure Skill Coding Practices

Warning
Location
references/hermes-native-xz01-live-deploy-validation.md:26
Finding

Live Theme Is Destructively Replaced Without Atomic Deployment or Automatic Rollback

Content
View full analysis

Vulnerability Details

File Location: references/hermes-native-xz01-live-deploy-validation.md, lines 26-38
Vulnerability Type: Unsafe destructive live deployment procedure
Risk Level: Medium

Vulnerable Code

bash
BACKUP_DIR=/root/.hermes/workspace/xz01-factory/backups
mkdir -p "$BACKUP_DIR"
tar -czf "$BACKUP_DIR/default-before-<run_id>-$(date +%Y%m%d-%H%M%S).tar.gz" \
  -C /www/wwwroot/www.900az.com/public/themes default
bash
rm -rf /www/wwwroot/www.900az.com/public/themes/default
mkdir -p /www/wwwroot/www.900az.com/public/themes/default
cp -a /root/.hermes/workspace/xz01-factory/runs/<run_id>/generated/public/themes/default/. \
  /www/wwwroot/www.900az.com/public/themes/default/
rm -rf /www/wwwroot/www.900az.com/runtime/*

Technical Analysis

The documented process deletes the active live theme before the replacement is copied and validated. The procedure does not stage the new theme under a temporary directory on the same filesystem, perform a pre-deployment integrity check, atomically switch directories, or automatically restore the backup if a later step fails.

The backup command is present, but the procedure does not verify that the archive is readable and complete before deleting the live theme. It also does not show a shell wrapper with set -euo pipefail or a rollback trap. An interrupted copy, missing source, invalid generated output, storage exhaustion, or operator error can leave production with a missing or partially populated theme.

The <run_id> placeholder is intended to be replaced manually. If unsafe shell text were substituted without validation in an executable wrapper, it could also create command-injection risk, although no such wrapper is present in the audited project. The confirmed issue is the non-atomic destructive deployment sequence.

Attack Path

  1. An invalid, incomplete, or attacker-modified generated theme is placed in the exp ...[truncated 1147 chars]
Remediation
View remediation

Remediation Suggestions

  • Validate the generated source before touching the active theme.
  • Copy the candidate into a new staging directory on the same filesystem.
  • Verify required files, ownership, permissions, checksums, template syntax, and static-scan results in staging.
  • Verify that the backup archive exists, is nonempty, can be listed, and contains the expected theme.
  • Use an atomic rename or versioned release-directory plus symlink switch instead of deleting the active directory first.
  • Wrap deployment in a script using set -euo pipefail.
  • Install an EXIT or ERR trap that automatically restores the previous release if deployment or health checks fail.
  • Retain the previous release as an immediately switchable rollback target.
  • Validate run_id against a strict pattern such as ^[A-Za-z0-9._-]+$.
  • Run HTTP, template-syntax, and application health checks before declaring the deployment active.
  • Clear runtime caches only after the replacement is ready, and restore or regenerate them safely during rollback.
  • Execute deployment under a dedicated account restricted to the website theme and runtime directories.
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • System Prompt LeakageDirect Leakage, Indirect Extraction, Tool-Based Exfiltration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Rogue AgentSelf-Modification, Session Persistence
Findings (66)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill is framed as orchestration but apparently includes filesystem diff/baseline checks and other operational routines without reflecting that in its declared purpose. This is dangerous because security review depends on accurate disclosure of what a skill can make an agent do, not only what it aspires to govern.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill is framed as orchestration but apparently includes filesystem diff/baseline checks and other operational routines without reflecting that in its declared purpose. This is dangerous because security review depends on accurate disclosure of what a skill can make an agent do, not only what it aspires to govern.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill is framed as orchestration but apparently includes filesystem diff/baseline checks and other operational routines without reflecting that in its declared purpose. This is dangerous because security review depends on accurate disclosure of what a skill can make an agent do, not only what it aspires to govern.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill is framed as orchestration but apparently includes filesystem diff/baseline checks and other operational routines without reflecting that in its declared purpose. This is dangerous because security review depends on accurate disclosure of what a skill can make an agent do, not only what it aspires to govern.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The skill is framed as orchestration but apparently includes filesystem diff/baseline checks and other operational routines without reflecting that in its declared purpose. This is dangerous because security review depends on accurate disclosure of what a skill can make an agent do, not only what it aspires to govern.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The skill is framed as orchestration but apparently includes filesystem diff/baseline checks and other operational routines without reflecting that in its declared purpose. This is dangerous because security review depends on accurate disclosure of what a skill can make an agent do, not only what it aspires to govern.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill is framed as orchestration but apparently includes filesystem diff/baseline checks and other operational routines without reflecting that in its declared purpose. This is dangerous because security review depends on accurate disclosure of what a skill can make an agent do, not only what it aspires to govern.

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 55)May include surrounding context.

md
udit.md` — publishing-process correction: before `clawhub publish`, audit that `SKILL.md`, `skill.json`, and `_meta.json` all share the same version and that de

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
udit.md` — publishing-process correction: before `clawhub publish`, audit that `SKILL.md`, `skill.json`, and `_meta.json` all share the same version and that de

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
udit.md` — publishing-process correction: before `clawhub publish`, audit that `SKILL.md`, `skill.json`, and `_meta.json` all share the same version and that de

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
udit.md` — publishing-process correction: before `clawhub publish`, audit that `SKILL.md`, `skill.json`, and `_meta.json` all share the same version and that de

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

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

md
7. search/navigation/carousel/data rendering conventions, with updated `demo_xz01` nuance and user correction: front-end PC/mobile search should render the search-box visual style when the template design includes that header/search area, but must not render functional search behavior by default. Use disabled/non-submitting visual-only controls: no `/search` link/action, no enabled input, no submit, no JS submit binding. Do not require a working dual-end search feature unless the user explicitly requests functional search. For visual placement, PC search must not sit in the page/header center; keep it right-aligned, side-aligned, below-header, or otherwise clearly non-center and visually weakened. Mobile search must be a compact magnifier/icon-style entry when shown; removing the large input is not enough if no small search entry is visible.
8. Dual-end top-navigation rendering rule (mandatory for every xz01 template set): PC and m/mobile header/top navigation are a paired requirement and must be checked/fixed together. Both ends must come from existing menu/navigation data such as PC `get_nav_menu(1,0,['list_order'=>'asc'],0,333)` and mobile `get_nav_menu(1,0,['list_order'=>'asc'],0,3333)` with `$vo.name` and `$vo.href` (or an equivalent existing menu source); mobile hrefs must use the mobile host, e.g. by replacing `www.` with `m.` when the helper returns PC URLs. Do not hardcode guessed labels like “热门排行/装机必备/专题合集” or mobile shorthand labels like “软件/排行/必备/资讯” unless they are the exact menu data output; do not invent hrefs just because they open. Preserve each active template's outer nav classes while keeping labels/links data-driven.
9. route rule: database routes are authoritative; do not invent routes from template filenames
10. database channel display rule: category/list page labels, headings, breadcrumbs, and related front-end display names must use `cmf_cms_channel.name` for the current database alias on both PC and mobile. The alias/path (e.g. `gzos`) is 
...[truncated 26 chars]

Self-Modification

High
Category
Rogue Agent
Confidence
98% confidence
Finding

The skill explicitly instructs continuous self-modification based on workflow observations and user corrections. Self-modifying automation is dangerous because it can accumulate new powers, alter future behavior, and reduce auditability—especially when combined with the separate auto-publish instruction.

Content

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

md
Hermes should continuously improve this skill when actual workflow reveals gaps, but only within Hermes skill storage or another user-authorized non-OpenClaw location.

Patch this skill when:

- the user corrects role division
- a new hard boundary is stated

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
98% confidence
Finding

This explicit rm -rf /www/wwwroot/www.900az.com/public/themes/default instruction is a destructive production operation. In the broader skill context—where the metadata stresses read-only learning materials and delegated coding—embedding a direct live-delete path makes the skill more dangerous because it normalizes bypassing safer development boundaries.

Content

Scanner excerpt · references/hermes-native-xz01-live-deploy-validation.md (reported line 33)May include surrounding context.

  1. Replace default theme:
bash
rm -rf /www/wwwroot/www.900az.com/public/themes/default
mkdir -p /www/wwwroot/www.900az.com/public/themes/default
cp -a /root/.hermes/workspace/xz01-factory/runs/<run_id>/generated/public/themes/default/. \
  /www/wwwroot/www.900az.com/public/themes/default/

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
98% confidence
Finding

This explicit rm -rf /www/wwwroot/www.900az.com/public/themes/default instruction is a destructive production operation. In the broader skill context—where the metadata stresses read-only learning materials and delegated coding—embedding a direct live-delete path makes the skill more dangerous because it normalizes bypassing safer development boundaries.

Content

Scanner excerpt · references/hermes-native-xz01-live-deploy-validation.md (reported line 33)May include surrounding context.

  1. Replace default theme:
bash
rm -rf /www/wwwroot/www.900az.com/public/themes/default
mkdir -p /www/wwwroot/www.900az.com/public/themes/default
cp -a /root/.hermes/workspace/xz01-factory/runs/<run_id>/generated/public/themes/default/. \
  /www/wwwroot/www.900az.com/public/themes/default/

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
97% confidence
Finding

This explicit rm -rf /www/wwwroot/www.900az.com/runtime/* command wipes runtime artifacts in production. While intended to force regeneration, it can still cause availability issues, race conditions, and hard-to-debug failures if the newly deployed templates are invalid or if permissions prevent cache rebuild.

Content

Scanner excerpt · references/hermes-native-xz01-live-deploy-validation.md (reported line 37)May include surrounding context.

mkdir -p /www/wwwroot/www.900az.com/public/themes/default cp -a /root/.hermes/workspace/xz01-factory/runs/<run_id>/generated/public/themes/default/.
/www/wwwroot/www.900az.com/public/themes/default/ rm -rf /www/wwwroot/www.900az.com/runtime/*

text

4. Verify PC and mobile return HTTP 200.

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
97% confidence
Finding

This explicit rm -rf /www/wwwroot/www.900az.com/runtime/* command wipes runtime artifacts in production. While intended to force regeneration, it can still cause availability issues, race conditions, and hard-to-debug failures if the newly deployed templates are invalid or if permissions prevent cache rebuild.

Content

Scanner excerpt · references/hermes-native-xz01-live-deploy-validation.md (reported line 37)May include surrounding context.

mkdir -p /www/wwwroot/www.900az.com/public/themes/default cp -a /root/.hermes/workspace/xz01-factory/runs/<run_id>/generated/public/themes/default/.
/www/wwwroot/www.900az.com/public/themes/default/ rm -rf /www/wwwroot/www.900az.com/runtime/*

text

4. Verify PC and mobile return HTTP 200.

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/lanhu-mcp-installation.md (reported line 35)May include surrounding context.

md
mkdir -p /root/.hermes/workspace
git clone https://github.com/dsphper/lanhu-mcp.git /root/.hermes/workspace/lanhu-mcp
cd /root/.hermes/workspace/lanhu-mcp
cp config.example.env .env
# edit .env and set LANHU_COOKIE; optionally FEISHU_WEBHOOK_URL
# keep SERVER_HOST=0.0.0.0 and SERVER_PORT=8000 unless there is a port conflict
docker compose up -d --build

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/lanhu-mcp-installation.md (reported line 36)May include surrounding context.

md
mkdir -p /root/.hermes/workspace
git clone https://github.com/dsphper/lanhu-mcp.git /root/.hermes/workspace/lanhu-mcp
cd /root/.hermes/workspace/lanhu-mcp
cp config.example.env .env
# edit .env and set LANHU_COOKIE; optionally FEISHU_WEBHOOK_URL
# keep SERVER_HOST=0.0.0.0 and SERVER_PORT=8000 unless there is a port conflict
docker compose up -d --build

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
92% confidence
Finding

The skill instructs use of curl -k and Chrome --ignore-certificate-errors, which disable TLS certificate validation during verification of production domains. This can allow a man-in-the-middle or hostile network to spoof the target site and make the agent trust manipulated content, screenshots, or validation results.

Content

Scanner excerpt · references/run-0002-visual-repair.md (reported line 31)May include surrounding context.

md
UA_PC='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
UA_M='Mozilla/5.0 (Linux; Android 13; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36'

curl -k -L -A "$UA_PC" https://www.900az.com/
curl -k -L -A "$UA_M" https://m.900az.com/

/usr/bin/google-chrome --headless=new --no-sandbox --disable-gpu --ignore-certificate-errors \

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script performs an unconditional recursive deletion of every entry directly under a runtime directory, defaulting to /www/wwwroot/www.900az.com/runtime. Even though the target is scoped to a runtime path, this is still a destructive operation with no path allowlist, environment guard, or safety checks against mis-targeting via an attacker- or user-supplied argument, so mistakes or abuse could erase important application data.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
85% confidence
Finding

The skill describes and enables file reads, file writes, destructive cleanup, network access, and external service interactions, but it does not declare an explicit tool/permission scope. That mismatch increases the chance that an agent loads the skill with broader capabilities than a reviewer expects, making unsafe file or network operations easier to trigger accidentally.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The description states that when the user mentions the Chinese phrase xz01规范, the skill must be triggered, embedding a language-specific activation rule. The file does not offer a language choice or explain a justified region-specific limitation, so this is a natural-language locale policy issue.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
89% confidence
Finding

The skill repeatedly instructs the agent to proceed with repairs and operational steps 'without asking,' reducing the chance of a human approval checkpoint before impactful actions. In a skill that references production paths, publishing, validation, and service operations, autonomous execution materially increases the likelihood of unintended changes.

Content

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

md
- `references/session-2026-05-18-pc-nav-scope-validation.md` — validation-scope lesson: when fixing PC top navigation, parse the actual nav container and do not conflate similar labels in lower shortcut/keyword modules with the header nav.
- `references/session-2026-05-18-hermes-native-title-search-repair.md` — direct Hermes xz01 live-site repair lesson: do not call OpenClaw runtime orchestration when the user addresses Hermes; use Hermes-native dev/test delegation, demo read-only reference, shared-head dynamic title repair, theme-only search template fixes, and multi-keyword title validation.
- `references/session-2026-05-18-hermes-native-no-search-regression.md` — user correction and repair pattern for xz01 live-site regressions when Hermes is addressed directly: do not invoke OpenClaw sessions/flow-controller; use Hermes-native verification/delegation; dual-end search boxes should keep visual styling when shown but must be non-functional by default: no `/search` action/link, no enabled input/submit, and no JS submit binding.
- `references/session-2026-05-18-xz01-skill-autopublish.md` — user correction that xz01 skill edits are incomplete until version metadata is synchronized and `clawhub publish` is executed without asking for confirmation.
- `references/session-2026-05-18-pc-mobile-search-visual-repair.md` — live-site search visual repair lesson: PC search must be right/side-aligned and visually weakened rather than top-center; mobile search must be an obvious compact magnifier-style visual-only entry, not merely the absence of a large input; verify 390px mobile card overflow after search/header changes.
- `references/lanhu-mcp-installation.md` — recommended Docker Compose + HTTP MCP setup for `dsphper/lanhu-mcp`, including Hermes native MCP and Claude Code connection examples.
- `references/demo-xz01-may-2026-source-update.md` — read-only learning notes from the May 2026 `demo_xz01` source update, including the user-confirmed rule that front-end PC/mobile sear
...[truncated 24 chars]

Session Persistence

Medium
Category
Rogue Agent
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.

Content

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

md
- `references/session-2026-05-16-theme-only-data-links-search.md` — theme-only repair notes after backend restoration: restore data with existing template tags, make slash-ending column links absolute with the correct PC/mobile host, avoid double-prefix domains, keep PC search out of the top center, fix missing detail templates in the theme, and keep test artifacts out of `/root/.openclaw`.
- `references/session-2026-05-16-max-turns-task-splitting-validation-scripts.md` — user correction for repeated `max_turns` and long-running tasks: do not raise max-turns, split work to minimum units, use fixed validation scripts, do not enable the no-re-exploration rule for now, time-box dev/test tasks, use Claude interactive/tmux only as a supervised workbench for a sequence of small tasks, and prioritize stability with a single serial queue unless the user explicitly re-enables concurrency.
- `references/session-2026-05-16-demo-xz01-systematic-validation.md` — user correction that `demo_xz01` must be learned systematically: dual-end list/detail templates must exist and render, pagination variables/data rendering must follow demo patterns, runtime cache must be cleared after every dev change, PC+mobile static/HTTP/browser/screenshot/AI gates are mandatory before packaging, and the validation scripts are part of this skill.
- `references/session-2026-05-16-allpage-visual-qa-and-scanner-fixes.md` — follow-up validation lesson: when the user asks for all-page dual-end screenshots and AI review, capture every crawled URL, create URL→screenshot manifests and contact sheets for AI review, retry screenshot timeouts, and avoid false `0款` scanner matches such as `10款`. Treat DB-backed labels like “手游下载” as wording observations rather than automatic failures when the route and data are valid.
- `references/session-2026-05-16-db-channel-name-display-standard.md` — user correction that xz01 PC/mobile category/list display names must use `cmf_cms_channel.name` from the database row for the 
...[truncated 25 chars]