Back to skill

Security audit

全国天气预报 - Weather Forecast - 极速数据

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward weather lookup skill that sends user-provided weather query details to JisuAPI and does not show hidden persistence or unrelated access.

Install only if you are comfortable using JisuAPI for weather data. City names, city IDs, city codes, coordinates, or IP addresses you choose to query, along with your JISU_API_KEY, will be sent to JisuAPI; prefer city-based lookup when you do not need precise location or IP lookup.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (8)

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding
Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Lp3

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding
The skill declares executable and sensitive capabilities via metadata (`python3` and `JISU_API_KEY`) and necessarily performs outbound API requests, but it does not explicitly declare a tool/permission scope for environment or network access. This creates a governance gap: runners or reviewers may underestimate what the skill can access, increasing the risk of unintended secret exposure or unauthorized external communication.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The documentation explicitly supports querying by IP address but does not warn that the provided IP will be transmitted to the third-party JisuAPI service. IP addresses are personal or sensitive metadata in many contexts, so silently forwarding them can create privacy, consent, and compliance issues, especially if users assume the lookup is local.

External Transmission

Medium
Category
Data Exfiltration
Content
import requests


WEATHER_QUERY_URL = "https://api.jisuapi.com/weather/query"
WEATHER_CITY_URL = "https://api.jisuapi.com/weather/city"
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
import requests


WEATHER_QUERY_URL = "https://api.jisuapi.com/weather/query"
WEATHER_CITY_URL = "https://api.jisuapi.com/weather/city"
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill forwards caller-supplied precise location coordinates or IP address to a third-party weather API, which exposes potentially sensitive location data to an external service. There is no consent prompt, minimization, or user-facing disclosure, so users may unknowingly share personal location information beyond what is necessary for a simple city forecast.

Natural-Language Policy Violations

Low
Confidence
86% confidence
Finding
The module description and inline documentation are written in Chinese and identify the skill as based on a China-specific weather API, but there is no natural-language indication that the locale is intentionally limited or that users can choose another language. Under the policy, forcing a specific language or locale without opt-in can be a violation unless it is clearly documented and justified.

Context-Inappropriate Capability

Low
Confidence
79% confidence
Finding
The manifest describes a weather-forecast skill for answering questions like city weather, rain, umbrella advice, and city-list lookup. The code additionally supports querying by raw latitude/longitude and arbitrary IP address, which introduces handling of potentially sensitive location identifiers not mentioned in the skill description and is not necessary for the stated city-oriented use cases.

Static analysis

No suspicious patterns detected.