Back to skill

Security audit

Product Differentiation Ebay

Security checks for vulnerabilities and agentic risk

Overview

The skill is a local product-differentiation report generator with some overbroad eBay-specific marketing claims but no evidence of hidden data access, persistence, or destructive behavior.

Before installing, treat the eBay-specific claims as overstated and review the analyzer as a generic local product differentiation tool. For safer installation, pin the skills CLI and repository revision or install in an isolated environment instead of using the unpinned global npx command.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:16
Finding
Unpinned Third-Party Package Execution During Global Installation<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, line 16 **Vulnerability Type**: Supply-chain risk from an unpinned executable dependency **Risk Level**: Medium ### Vulnerable Code ```bash npx skills add nexscope-ai/eCommerce-Skills --skill product-differentiation-ebay -g ``` ### Technical Analysis The documented installation command uses `npx` to resolve and execute the `skills` npm package without specifying a reviewed version or integrity hash. It also obtains Skill content from a third-party repository without pinning that source to an immutable commit. Because both components are mutable, the code and content executed during installation may differ from what existed when this project was audited. A compromised npm package, registry account, repository, release, or upstream maintainer account could therefore introduce malicious installation behavior. The `-g` option increases the scope by installing the Skill globally rather than restricting it to the current project. No lockfile, checksum, package signature, commit hash, or other reproducible verification mechanism is provided. ### Attack Path 1. An attacker compromises or gains control of the npm package resolved as `skills`, its publisher account, its distribution channel, or the referenced Skill repository. 2. The attacker publishes a modified package or replaces mutable repository content with a malicious version. 3. A user follows the installation instructions and runs the documented `npx` command. 4. `npx` downloads and executes the attacker-controlled package version, which then processes attacker-controlled repository content. 5. Malicious code runs with the privileges of the installing user, or malicious Skill instructions are installed into the user's global Skill environment. ### Impact Assessment Successful exploitation could execute arbitrary commands with the installing user's privileges. Depending on those privileges and the behavior of the compromised installer, th ...[truncated 390 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin the `skills` CLI to an explicitly reviewed version: ```bash npx skills@&lt;reviewed-version&gt; add ... ``` 2. Pin the Skill repository to an immutable, reviewed commit or signed release rather than a mutable branch. 3. Verify downloaded artifacts using published cryptographic checksums or signatures before execution. 4. Commit an appropriate lockfile where supported and use a trusted, explicitly configured package registry. 5. Prefer a project-local installation instead of `-g` unless global installation is strictly necessary. 6. Publish the exact expected package version, repository commit, checksum, and verification procedure in `SKILL.md`. 7. Run installation with a non-privileged account in an isolated environment and review package lifecycle scripts before execution. ]]>
Vulnerability Patterns
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding
The core functionality substantially matches the general description of a product differentiation strategy tool: it analyzes competitor weaknesses, extracts pain points from negative reviews, identifies selling points, and generates actionable differentiation and positioning strategies. However, the declared purpose specifically claims eBay-specific seller feedback analysis. The supplied code contains no eBay-specific parsing, data model, terminology, API usage, marketplace handling, or seller-feedback-specific analysis. Instead, it is a generic review-based analyzer and even uses an Amazon-oriented identifier field ('asin'). Therefore, the description overstates marketplace-specific functionality, making it a meaningful description-behavior mismatch.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding
The installation command uses `npx skills` without pinning an exact version, which can cause users to execute whatever package/version is resolved at install time. That creates a supply-chain risk: if the package is updated maliciously, compromised, or changed incompatibly, anyone following the skill instructions may run unreviewed code on their system.

Natural-Language Policy Violations

Medium
Confidence
85% confidence
Finding
The CLI selects Chinese output unless the user explicitly passes no flag other than the absence of `--zh`, but the sample data and reporting logic indicate a built-in locale behavior controlled by the tool rather than user preference negotiation. This creates a locale policy concern because the skill contains explicit language-selection behavior that may force a specific language mode in some contexts without asking the user what language they want.

Static analysis

No suspicious patterns detected.