Hefeng Weather - 和风天气
Analysis
This is a coherent weather-query skill, but it needs QWeather credentials and sends city/location queries to a configured API host, so verify the configuration before using it.
Findings (4)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
执行脚本: python scripts/weather_now.py --city "北京"
The skill is not only instructional text; it expects running bundled Python scripts to answer weather questions. This is purpose-aligned and parameterized, with no evidence of destructive or hidden execution.
python scripts/weather_history.py --city "北京" --days 7
SKILL.md documents scripts such as weather_history.py that are not present in the supplied file manifest. This looks like a packaging/documentation gap rather than malicious behavior.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
lines.append(f"HEFENG_API_KEY={args.api_key}") ... fd = os.open(config_file, os.O_CREAT | os.O_WRONLY | os.O_TRUNC, 0o600)The configuration script can save the user's QWeather API key/JWT-related settings to a local .env file by default. It sets owner-only permissions in this script, but this is still credential storage users should notice.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
self._api_host = os.environ.get("HEFENG_API_HOST") ... url = f"https://{self._api_host}/{endpoint}" ... httpx.get(url, headers=self._auth_header, params=params)The API destination host is configurable and receives authentication headers plus query parameters such as city/location. This is expected for QWeather/custom-domain use, but a wrong host would receive sensitive request data.
