Back to skill

Security audit

price-check

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed price-comparison skill with local history and optional Feishu sync, with no evidence of hidden exfiltration or destructive behavior.

Install only if you are comfortable sending product search terms to the maishou88.com price API and keeping a local shopping-history database. Enable Feishu sync only for a Feishu table you control, keep the config file private, and verify seller pages and prices before buying.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
Findings (13)

Description-Behavior Mismatch

Medium
Confidence
85% confidence
Finding
The module adds an opt-in Feishu synchronization feature that exports user queries and pricing results to a third-party service, which goes beyond the manifest's stated price-comparison function. Even though it is disabled by default, this expands the skill's data-handling surface and can leak potentially sensitive shopping intent or result metadata without being clearly disclosed in the skill description.

Context-Inappropriate Capability

High
Confidence
89% confidence
Finding
The code invokes an external CLI to send collected query and result data to Feishu, creating an exfiltration path not necessary for core price-checking behavior. Because the transmitted content includes the query text and derived recommendation data, enabling this feature can disclose user activity to an external platform and introduces dependency on whatever `lark-cli` binary is found in PATH.

Description-Behavior Mismatch

Medium
Confidence
94% confidence
Finding
The skill advertises itself as 'search-only', but it persists queries/results locally and uses them to build historical price data. This creates a documentation-to-behavior mismatch that can mislead users and downstream agents about data handling, increasing privacy and compliance risk when user queries may contain sensitive product interests or identifiers.

Description-Behavior Mismatch

High
Confidence
97% confidence
Finding
The 'search-only' claim is further contradicted by Feishu synchronization, which can send user queries and full results to an external service. Undisclosed outbound transmission is more serious than local caching because it expands the trust boundary and may expose user data to third-party systems without informed consent.

Context-Inappropriate Capability

High
Confidence
90% confidence
Finding
The code loads configuration for a history provider and integrates Feishu sync functionality that is not necessary for the core end-user price comparison flow. Extra outbound integrations increase attack surface and create an avenue for silent data exfiltration or policy circumvention, especially in a skill expected to handle user search terms only for immediate comparison.

Context-Inappropriate Capability

Medium
Confidence
79% confidence
Finding
The script writes persistent configuration enabling Feishu synchronization and stores identifiers for a remote base in the user's home directory. In the context of a price-comparison skill, this expands the skill's data-export and remote-integration footprint beyond core local price checking, which can expose user queries and results to a third-party SaaS if enabled without strong consent and documentation.

Context-Inappropriate Capability

Medium
Confidence
76% confidence
Finding
The script modifies a remote Feishu Base schema by creating fields automatically, which is a state-changing operation against an external service. Even though this appears intended for feature setup, it is more sensitive than simple price lookup because it can alter user-owned remote resources and facilitate structured export of shopping activity and recommendations.

Missing User Warnings

Medium
Confidence
78% confidence
Finding
The documentation describes optional synchronization of query results to Feishu, including product queries, prices, links, and history fields, but does not prominently warn that enabling this causes data to leave the local machine and be stored by a third-party service. In an agent setting, users may assume the skill is local-only and unknowingly expose shopping interests or potentially sensitive product-search context to an external SaaS.

Vague Triggers

Medium
Confidence
83% confidence
Finding
The trigger phrases are broad, common shopping-language terms that are likely to overlap with ordinary conversation. This can cause accidental invocation of a networked, file-writing skill, leading to unintended external requests, local data persistence, or optional downstream syncing in contexts where the user did not explicitly request tool use.

Natural-Language Policy Violations

Medium
Confidence
78% confidence
Finding
The skill attempts to force the agent to render `human_report` verbatim and forbids translation or reformatting. While not a direct code-execution issue, this is a prompt-control pattern that can interfere with safety mediation, localization, or accessibility, and it is especially suspicious because it tries to constrain the agent's output behavior rather than simply describing data format.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
This module persists user search queries and detailed pricing/history data to a local SQLite database under the user's home directory, but the code shows no explicit consent flow, retention control, or user-facing disclosure at the point of collection. Search queries can contain sensitive product interests or personal intent, so silent long-term storage creates a privacy risk, especially on shared machines or when other local software/users can access the profile directory.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
Across the main execution flow, the skill fetches user-query-derived results, persists them locally, caches them, and may transmit them externally, but there is no clear user-facing warning or consent step in this file. Even if the data seems low sensitivity, shopping searches can reveal health, financial, location, or personal-interest information and should not be retained/shared silently.

Vague Triggers

Medium
Confidence
92% confidence
Finding
The trigger logic is overly broad: it activates the price-check flow for generic phrases like "X 多少钱值得买" / "X 哪里买" / keyword hits, which can cause the agent to run on ambiguous or unintended user inputs. In this skill, that increases the chance of unsolicited product-search behavior, unnecessary external data collection, and accidental rendering of purchase guidance or links when the user did not clearly request a shopping action.

Static analysis

Detected: suspicious.destructive_delete_command

Documentation contains a destructive delete command without an explicit confirmation gate.

Warn
Code
suspicious.destructive_delete_command
Location
README.md:143

Documentation contains a destructive delete command without an explicit confirmation gate.

Warn
Code
suspicious.destructive_delete_command
Location
README.zh-CN.md:143