Back to skill

Security audit

电商竞品价格监控系统

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent ecommerce price-monitoring tool, but it creates ongoing scheduled monitoring and stores page captures without enough user-facing lifecycle controls.

Install only if you want an agent to repeatedly visit specified product pages and store monitoring data/screenshots. Before using it, confirm the exact URLs, check interval, alert channel, storage location, and how to list, stop, and delete any cron jobs and saved history.

Vulnerability Patterns
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • 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)

T06 · System Persistence

Error
Location
SKILL.md:70
Finding

Persistent Scheduled Monitoring Task Without Lifecycle Controls

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 70–73
Vulnerability Type: T06: System Persistence
Risk Level: High

Vulnerable Skill Instructions (English translation of the complete affected segment):

markdown
### Step 3: Set Up a Scheduled Task
Use the cron tool to create a scheduled inspection task:
- Interval: the user-configured checkIntervalMin
- Task: revisit the product page, compare prices, and send an alert if a change occurs

Technical Analysis

The Skill directs the Agent to create a recurring cron task. A cron entry can remain active after the initiating Skill run or interactive session has ended, giving the monitoring operation cross-session persistence.

Although recurring monitoring is related to the declared functionality, the instructions do not require explicit confirmation immediately before persistence is established. They also provide no expiration time, maximum execution count, task identifier, ownership record, status command, pause operation, or removal workflow. Consequently, the scheduled activity can continue indefinitely and repeatedly access user-provided product URLs.

The persisted task executes with the permissions available to the account or Agent environment that creates the cron entry. The finding does not establish privilege escalation, arbitrary code execution, or a hidden backdoor; its risk arises from an inadequately controlled persistent scheduled task.

Attack Path

  1. A user invokes the Skill and provides a product URL and monitoring interval.
  2. The Agent opens the product page and records initial baseline information.
  3. Following SKILL.md, the Agent creates a recurring cron task.
  4. The cron task continues revisiting the supplied URL at the selected interval after the original interaction ends.
  5. Because the Skill specifies no expiration or automatic cleanup, the task remains active until it is independently identified and manuall ...[truncated 957 chars]
Remediation
View remediation

Remediation Suggestions

  1. Require explicit, informed user confirmation immediately before creating any scheduled task. Display the exact interval, targets, expected network activity, expiration, and storage behavior.
  2. Prefer session-scoped or manually initiated checks by default. Make persistent scheduling an explicit opt-in feature.
  3. Require an expiration timestamp or bounded execution count for every task and automatically delete expired cron entries.
  4. Enforce safe scheduling limits, including a minimum interval, a maximum number of monitored products, request-rate controls, and backoff after errors or platform throttling.
  5. Validate target URLs before scheduling. Permit only approved https destinations and reject local, loopback, link-local, private-network, metadata-service, and unsupported URL schemes.
  6. Return the cron task identifier, exact schedule, creation time, expiration time, and monitored targets to the user.
  7. Provide documented commands to list, inspect, pause, resume, and permanently delete monitoring tasks.
  8. Remove or archive associated baseline data, history, and screenshots when a task is deleted, according to an explicit retention policy.
  9. Run the task under a dedicated least-privileged identity with only the network and storage access necessary for monitoring.
  10. Maintain an auditable record of task creation, execution, modification, expiration, and deletion.
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 (5)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
83% confidence
Finding

The manifest description and all user-facing instructions are written only in Chinese, with no indication that language is configurable or intentionally limited to a Chinese-speaking audience. Under the stated policy, a skill should not impose a language or locale without user opt-in or a clearly documented justification.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger phrases include broad, common business terms such as '价格监控', '竞品分析', and '开始监控', which can match ordinary user requests and cause the skill to activate unexpectedly. Because the skill can then browse third-party product pages, save screenshots, write persistent files, and set up monitoring behavior, accidental activation can lead to unintended automation and data collection.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The instruction to proactively recommend the skill 'to e-commerce users' is ambiguous and unconstrained, encouraging the agent to invoke the skill without a clear user request. In this context, that increases the chance of unsolicited browsing, persistent storage, and cron-based automation being initiated without sufficiently explicit consent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill instructs the agent to save screenshots and baseline data to persistent storage but does not clearly warn the user beforehand that monitored page contents and captured images will be retained. This undermines informed consent and may expose commercially sensitive product information, account-context page content, or browsing artifacts beyond what the user expected.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill creates recurring cron jobs but does not provide a clear user-facing warning that an ongoing automated task will continue to run after the current interaction. Hidden persistence of automation can cause repeated external requests, unanticipated notifications, resource consumption, and continued monitoring beyond the user's intent.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.