Back to skill

Security audit

开店选址分析

Security checks for vulnerabilities and agentic risk

Overview

The skill’s store-location analysis purpose is coherent, but its generated HTML report can embed unescaped user and map-provider data, creating a browser script-injection risk when opened.

Review the report-generation risk before installing. Use an environment variable for AMAP_KEY instead of a command-line argument, only open generated reports from trusted input/data, and prefer an updated version that HTML-escapes displayed fields and safely JSON-encodes data used in scripts.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (4)

Lp3

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding
The skill instructs the agent to access environment variables, make network requests, and read/write files, but it does not declare any permissions or capability boundaries. This creates a transparency and policy-enforcement gap: the agent may execute sensitive actions without explicit user or platform awareness, increasing the risk of unintended data access, filesystem modification, or exfiltration through external APIs.

Vague Triggers

Medium
Confidence
84% confidence
Finding
The trigger list contains broad natural-language phrases like '这地方能开店吗' and '帮我选店面', which may match ordinary conversation and cause unintended skill activation. Unintended invocation can lead to unnecessary collection of user-provided addresses, API-key setup guidance, or execution of networked analysis flows when the user did not clearly request this specific skill.

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The documentation explicitly recommends passing the API key as a command-line argument, which can expose the secret through shell history, process listings, job control logs, or monitoring tools on shared systems. Although this is documentation rather than executable code, it encourages an unsafe operational practice that can lead to credential leakage and unauthorized use of the AMap API key.

Missing User Warnings

Medium
Confidence
98% confidence
Finding
The HTML report is built with large f-strings that directly interpolate untrusted JSON fields such as address, store_type, competitor names, addresses, timestamps, descriptions, and reasons into HTML and JavaScript contexts without escaping. If an attacker can influence the input JSON, opening the generated report can trigger stored XSS in the browser, including script execution via HTML injection or breaking out of JavaScript string literals.

Static analysis

No suspicious patterns detected.