Back to skill

Security audit

seo-ecommerce

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed e-commerce SEO analysis skill with optional paid marketplace lookups and no bundled executable code or hidden persistence.

Installers should know that marketplace intelligence may send keywords, domains, or URLs to DataForSEO and can incur API costs; use the built-in cost checks and specify locale or free-only analysis when needed.

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
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • 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 (8)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill advertises several broad invocation phrases such as "product listings" and "shopping ads," which are common in ordinary user requests and can cause the skill to activate when the user did not explicitly intend e-commerce SEO analysis. Unintended invocation can expose URLs, keywords, or trigger costly external lookups, especially because this skill integrates optional paid marketplace APIs.

Content

No source excerpt is available for this finding.

Unbounded Output

Medium
Category
Output Handling
Confidence
60% confidence
Finding

Output size or generation rate is not bounded. Unbounded output enables denial-of-service through resource exhaustion, log flooding, or context-window stuffing.

Content

Scanner excerpt · SKILL.md (reported line 55)May include surrounding context.

md
#### Title Tag
- [ ] Contains primary product keyword
- [ ] Includes brand name
- [ ] Under 60 characters (no truncation in SERPs)
- [ ] Format: `[Product Name] - [Key Feature] | [Brand]`

#### Meta Description

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/ucp-universal-commerce-protocol.md (reported line 47)May include surrounding context.

md
{
      "id": "dev.ucp.shopping.checkout",
      "version": "2026-04-08",
      "endpoint": "https://api.example.com/ucp/checkout"
    },
    {
      "id": "dev.ucp.shopping.fulfillment",

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/ucp-universal-commerce-protocol.md (reported line 52)May include surrounding context.

md
{
      "id": "dev.ucp.shopping.checkout",
      "version": "2026-04-08",
      "endpoint": "https://api.example.com/ucp/checkout"
    },
    {
      "id": "dev.ucp.shopping.fulfillment",

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/ucp-universal-commerce-protocol.md (reported line 57)May include surrounding context.

md
{
      "id": "dev.ucp.shopping.checkout",
      "version": "2026-04-08",
      "endpoint": "https://api.example.com/ucp/checkout"
    },
    {
      "id": "dev.ucp.shopping.fulfillment",

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The file is being analyzed in the context of the seo-ecommerce skill, but the documentation heading says What seo-geo-skill audits and then describes the /seo ecommerce <url> command. That is an active contradiction in the file's stated intent, not merely an omission, because it attributes the documented behavior to a different skill name.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

The reference specifies language_code with a default of "en", which is a natural-language locale default. Under the policy, forcing or defaulting to a specific language without user opt-in or documented justification can be a locale-policy concern, and this file does not mention user choice or a region-specific rationale.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

This line again sets language_code to "en" as the default for a user-facing marketplace query. The file does not provide a user choice mechanism or explain why English is required, so this may violate the language/locale policy described in SQP-3.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.