Lp1
- Category
- MCP Least Privilege
- Confidence
- 75% confidence
- Finding
The skill uses 'env' capability that is not listed in its permissions. This may indicate deceptive intent or missing permission declarations.
- Content
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a straightforward historical weather lookup that uses a Caiyun API token and coordinates as disclosed.
Install this only if you are comfortable providing a Caiyun API token and sending requested coordinates to Caiyun's API. Prefer the CAIYUN_TOKEN environment variable or a dedicated ~/.config/knowair/token file, and avoid using it for locations you consider sensitive.
The skill uses 'env' capability that is not listed in its permissions. This may indicate deceptive intent or missing permission declarations.
The skill uses 'network' capability that is not listed in its permissions. This may indicate deceptive intent or missing permission declarations.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
import urllib.request
import urllib.error
API_BASE = "https://api.caiyunapp.com/v2.6"
SKYCON_EN = {
"CLEAR_DAY": "Clear", "CLEAR_NIGHT": "Clear",
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
token = get_token()
if not token:
print(json.dumps({"error": "No API token found. Set CAIYUN_TOKEN env var or create ~/.config/knowair/token"}))
sys.exit(2)
hours = max(1, min(72, args.hours))
The CLI forces a language choice through a default of en when the user does not specify --lang. This is a natural-language locale decision made on the user's behalf, and the file does not indicate that English is optional unless the user inspects the CLI help.
No suspicious patterns detected.