Back to skill

Security audit

get-city-weather

Security checks for vulnerabilities and agentic risk

Overview

This skill does what it claims: it fetches Chinese city weather from a declared API and saves a local report.

Before installing, be comfortable with the skill sending the city name and a dedicated Juhe weather API key to apis.juhe.cn and writing a text report under the skill's output directory. Avoid reusing sensitive secrets for the API key, especially because the declared endpoint uses HTTP.

Vulnerability Patterns
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (3)

Lp3

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding
The skill documentation describes use of environment variables, reading a .env file, writing output files, and making outbound network requests, but it declares no permissions. This creates a capability/permission mismatch that can mislead operators and bypass least-privilege review, especially because the skill handles API keys and writes artifacts to disk.

Vague Triggers

Medium
Confidence
84% confidence
Finding
The skill description is broadly triggered by any mention of weather or city weather, which can cause over-invocation in normal conversation. While not directly a code-execution flaw, overly broad routing can cause unintended network calls, unnecessary secret use, and poor skill selection reliability.

Natural-Language Policy Violations

Medium
Confidence
78% confidence
Finding
The skill is documented entirely in Chinese and instructs Chinese-language usage without any indication of respecting the user's language preference. This can lead to unexpected behavior, misinterpretation of results, or unsafe user interactions if the agent responds in a language the user did not request.

Static analysis

No suspicious patterns detected.