Back to skill

Security audit

Ebay Price Check

Security checks for vulnerabilities and agentic risk

Overview

This skill appears to do what it says: send a user’s item query to eBay and summarize prices, with no hidden persistence or credential access found.

Install only if you are comfortable with item search terms being sent to eBay. Avoid using sensitive personal, proprietary, or confidential terms in searches; also expect possible reliability issues because the bundled wrapper path and Python stdout handling look buggy.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (3)

subprocess module call

Medium
Category
Dangerous Code Execution
Content
url = f"https://www.ebay.com/sch/i.html?_nkw={quote(query)}&_fsiv=1&_sop=15&_ufl=15"
    
    try:
        result = subprocess.run(
            ["curl", "-s", "-L", url],
            capture_output=True,
            text=True,
Confidence
70% confidence
Finding
subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The tool sends the user's raw search term to eBay without any disclosure, consent prompt, or privacy notice. In an agent skill context, queries may contain sensitive product interests, personal information, or proprietary terms, so silent transmission to a third party can create unintended data exposure.

Intent-Code Divergence

Low
Confidence
88% confidence
Finding
At L22, `subprocess.run(..., text=True)` indicates the command output will already be returned as a Python string. However, L25 calls `result.stdout.decode('utf-8', errors='ignore')`, which contradicts that documented behavior and suggests the code expects bytes instead. This is an intent/code inconsistency in the implementation details documented by the API usage.

Static analysis

No suspicious patterns detected.