Back to skill

Security audit

极鲸云速卖通店铺搜索

Security checks for vulnerabilities and agentic risk

Overview

The skill appears to provide legitimate AliExpress shop analytics, but its login-token handling and configurable authenticated API destination need review before installation.

Install only if you trust the GeekBI publisher and are comfortable with the skill storing GeekBI login tokens locally. Avoid custom --base-url values, keep the workspace private, and clear the skill's auth state when you no longer need authenticated access.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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 (2)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/geekbi_auth.py:698
Finding

Credential-Bearing Requests Do Not Restrict the Destination or Transport

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/geekbi_auth.py:68
Finding

Bearer Tokens Are Stored in Plaintext Across Multiple Local Directories

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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 Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (16)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

声明的核心能力是“店铺详情及店铺商品分析”,关注店铺维度指标和竞店研究;而代码明确访问 goods/ai-search 商品搜索端点,参数也全部围绕商品关键词、类目、站点、价格、销量、评分、评论和时间范围等商品筛选条件展开。代码没有店铺 ID、店铺详情、粉丝、店铺类目结构、经营趋势分析等明显店铺维度能力。虽然声明中提到‘店铺商品’,与商品搜索有一定相关性,但该代码的主功能与声明的主要用途存在实质偏差,因此应判定为描述与实际行为不一致。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

声明的核心用途是店铺与商品层面的经营分析(店铺销量、销售额、评分、粉丝、商品数量、类目结构、经营趋势等),面向店铺 ID、商品 ID、竞店调研等场景。实际代码则完全没有处理店铺或商品分析,也没有查询店铺详情、商品列表、销量或趋势数据,而是单纯拉取 AliExpress 站点清单并根据输入的国家/地区/站点 ID 做匹配解析。这属于主要目的和访问资源均明显不一致,不是简单的支撑性实现细节,因此应判定为描述与行为不匹配。

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

L15-L20 给出的调用示例是通用自然语言请求,如“分析这个…店铺的销售表现”和“查询该店铺…分析…”,与日常对话中的常见分析请求高度重叠。文档未说明明确触发条件、适用上下文或反例,容易导致技能在非预期场景下被误触发。

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The display name, short description, and default prompt are all written to require operation in Chinese, with no indication that users may choose another language or that the skill is intentionally limited to a Chinese-language audience. This can violate language/locale policy because the skill appears to impose a specific language by default rather than offering opt-in or documenting a justified locale restriction.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The instruction "原样使用服务端中文 msg" requires the skill to present Chinese-language content as-is, which enforces a specific language without any user opt-in or alternative locale handling. This is a natural-language policy issue because it constrains output language regardless of user preference.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

This code presents its user-facing description, argument help text, and error messages exclusively in Chinese, which constitutes a language/locale policy concern under the natural-language policy rule when no user opt-in or documented locale justification is provided. There is no indication that the tool is intentionally limited to a Chinese-only regional or compliance context.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This module is dedicated to agent authentication state management, including token acquisition, pending login flows, and persistent credential storage. The manifest describes querying and analyzing AliExpress shop and product data and explicitly frames the skill as read-only analytics; it does not mention any user login/session management capability as part of the skill behavior.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The file's docstrings, CLI descriptions, exception messages, and action prompts are presented exclusively in Chinese, with no indication that the user can choose language or locale. This creates a language/locale policy issue because the skill imposes a specific language on all users without opt-in or documented regional scope.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The code removes local auth state files via unlink() across all resolved stores, which is a destructive file operation. Although the CLI command name is 'clear', there is no confirmation prompt, no explicit warning comment/docstring near the deletion logic, and no user-facing disclosure that stored login state will be erased.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

L01-L20 的说明和示例均强制以中文呈现,没有提供用户语言选择,也未说明该技能仅面向中文用户或特定区域。根据语言/locale 政策,这类默认强制单一语言且无用户选择的说明可构成自然语言政策问题。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

This markdown file is entirely presented in Chinese and does not state that the user can choose another language or locale. Under the policy rule for natural-language violations, forcing a specific language without user opt-in can be a policy issue unless the locale restriction is documented and justified.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

This Python file performs an authenticated HTTP request to an external API using the provided mall and site identifiers, but the code gives no user-facing notice beyond a generic CLI description. There is no confirmation prompt, explicit disclosure print, or comment/docstring warning that input data will be sent over the network.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
96% confidence
Finding

This Python file contains user-facing natural-language text exclusively in Chinese in the module docstring and many exception messages, indicating the skill is designed to communicate in a fixed language. The file does not document that the skill is China-specific or that users can opt into this locale, which matches the language/locale policy concern for natural-language content in code files.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

The storage_status function probes multiple local directories, tests readability/writability/locking, and returns exact filesystem paths. Detailed local storage diagnostics are operational/auth-management functionality rather than a direct requirement of shop analytics.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The file provides a standalone command-line interface for checking storage status and clearing auth state. Those operational capabilities are not part of the stated purpose of analyzing AliExpress stores/products and are not justified by the manifest's user-facing scope.

Content

No source excerpt is available for this finding.