Back to skill

Security audit

极鲸云Ozon类目搜索

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent GeekBI/Ozon research helper, but it needs review because it stores login tokens in multiple local places and allows custom API destinations.

Review before installing. Use it only if you are comfortable logging in to GeekBI and storing local auth state, avoid using custom --base-url values, and prefer a version that stores credentials in one clearly documented user-private location and restricts API/auth URLs to approved HTTPS GeekBI origins.

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:68
Finding

Authentication tokens are redundantly stored under an unrelated Skill namespace

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Note
Location
scripts/ozon_search_common.py:104
Finding

Authenticated API clients accept arbitrary and non-HTTPS origins

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (14)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

Claiming broad category analytics while actually focusing on site-list queries is deceptive from a security and governance perspective because it obscures what external resources are accessed and what data is truly processed. Such misrepresentation can defeat least-privilege review and make it harder to detect unauthorized expansion of capability over time.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Claiming broad category analytics while actually focusing on site-list queries is deceptive from a security and governance perspective because it obscures what external resources are accessed and what data is truly processed. Such misrepresentation can defeat least-privilege review and make it harder to detect unauthorized expansion of capability over time.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

Claiming broad category analytics while actually focusing on site-list queries is deceptive from a security and governance perspective because it obscures what external resources are accessed and what data is truly processed. Such misrepresentation can defeat least-privilege review and make it harder to detect unauthorized expansion of capability over time.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding

The skill advertises operational behavior that invokes external scripts and reference files, but it does not declare any explicit tool or permission scope. In an agent environment, undeclared access to file reads, shell execution, or network use reduces reviewability and can allow broader capabilities than users or platform policy expect.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The file is entirely written as Chinese-only user-facing guidance and does not indicate that users may choose another language or locale. Under the stated policy, forcing a specific language without opt-in is a natural-language policy violation unless the locale restriction is explicitly documented and justified.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest describes a read-oriented Ozon category analysis skill that queries synced category trees, details, market scale, and historical metrics. This file instead implements a generic GeekBI agent login flow, persistent credential storage, token refresh/polling, and CLI state management, which are substantial behaviors not reflected in the stated skill description.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

This Python code contains natural-language strings for errors, prompts, and command descriptions entirely in Chinese, such as the module docstring, exception messages, and argparse help text. Under the policy, forcing a specific language without user opt-in is a locale/language policy violation unless the constraint is clearly documented and justified.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
85% confidence
Finding

For a skill described as querying Ozon category and market data, this file adds a separate capability to create, mirror, lock, mutate, and delete local authentication state across user config, skill, and working directories. While authentication itself may support API access, the broad local state-management and clearing CLI functionality is not described as part of the skill’s intended user-facing purpose.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script’s natural-language interface is entirely in Chinese, including the module docstring, CLI description, validation errors, and error messages. This imposes a specific language on users without offering any locale selection or documenting that the tool is intentionally region/language-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This code file contains natural-language strings that force a specific language for the script description and runtime messages. Under the policy, a fixed language without user opt-in or explicit justification is a locale/language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The visible user-facing description and installation text are entirely in Chinese, which effectively imposes a specific language on users. The file does not indicate that the skill is intentionally limited to Chinese-speaking users or provide an opt-in or alternative language.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The module docstring and argument parser description are written only in Chinese, which imposes a specific language for user-facing interaction. Under the policy, locale-specific behavior should either offer language choice or clearly document a justified regional constraint; neither is present here.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The module docstring and subsequent user-visible messages are written only in Chinese, which imposes a specific language on users without an opt-in or documented locale constraint. Under the language policy, locale-specific behavior should be optional or explicitly justified.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

This code file performs an HTTP request via authenticated_json_request using user-supplied search parameters, but the file only states that it queries Ozon products and does not explicitly disclose that input will be sent over the network. There is no confirmation prompt or explicit user-facing warning near the request call about external transmission of provided search criteria.

Content

No source excerpt is available for this finding.