Back to skill

Security audit

Weather Toolkit Free

Security checks across malware telemetry and agentic risk

Overview

This weather skill mostly does weather lookups, but its activation text wrongly claims database and SQL use cases while also declaring command and write access.

Review this before installing because the skill's metadata may make an agent consider it for database or SQL tasks even though it is only a weather lookup guide. Use it only for weather queries, and be aware that city names, airport codes, or coordinates may be sent to wttr.in or Open-Meteo when commands are run.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (9)

Description-Behavior Mismatch

High
Confidence
97% confidence
Finding
The manifest description mixes a weather-query tool with unrelated database/SQL usage guidance, which can cause an agent to invoke this skill in contexts far outside its actual function. That mismatch increases the chance of unintended command execution and external data transmission under false pretenses, especially because the skill declares exec/write capabilities.

Intent-Code Divergence

High
Confidence
98% confidence
Finding
The capability coverage statement claims support for database and SQL scenarios despite the body only documenting weather retrieval. This broad, incoherent scope can cause unsafe auto-selection of the skill for unrelated tasks, exposing users to exec-enabled behavior and network requests when they did not intend to use a weather skill.

Vague Triggers

High
Confidence
96% confidence
Finding
The contradictory and overly broad activation guidance makes the skill eligible for unrelated tasks, including database operations it cannot safely perform. In an agent environment, bad routing logic is security-relevant because it can trigger exec/network-capable skills unexpectedly and bypass user expectations about what data will be accessed or transmitted.

Vague Triggers

High
Confidence
97% confidence
Finding
The keyword list is incoherent and so broad that it can match arbitrary prompts, making unsafe or unintended invocation more likely. Because the skill has exec and write tools, poor trigger boundaries materially raise risk even if the documented business logic is only weather lookup.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The examples instruct direct requests to public weather services without clearly warning that user-provided locations or coordinates will be transmitted to third parties. In a skill context, silent external transmission is security-relevant because users may not realize their query data leaves the local environment.

External Transmission

Medium
Category
Data Exfiltration
Content
def get_weather(lat, lon):
    """获取指定坐标的当前天气"""
    url = (
        f"https://api.open-meteo.com/v1/forecast"
        f"?latitude={lat}&longitude={lon}&current_weather=true"
    )
    with urllib.request.urlopen(url) as response:
Confidence
94% confidence
Finding
https://api.open-meteo.com/

External Transmission

Medium
Category
Data Exfiltration
Content
# ...
# 备选数据源
echo "wttr.in 不可用,切换到 Open-Meteo..."
curl -s --max-time 5 "https://api.open-meteo.com/v1/forecast?latitude=39.9&longitude=116.4&current_weather=true" 2>/dev/null | python -c "
import sys, json
try:
    data = json.load(sys.stdin)
Confidence
94% confidence
Finding
https://api.open-meteo.com/

External Transmission

Medium
Category
Data Exfiltration
Content
- **完全无需API Key**:本工具包使用的所有数据源均为公开免费API
- **wttr.in**: 直接访问 `https://wttr.in/{city}`,无需任何认证
- **Open-Meteo**: 直接访问 `https://api.open-meteo.com/v1/forecast`,无需任何认证
- **无速率限制配置**:正常使用不会触发限流,高频请求建议增加缓存

### 可用性分类
Confidence
90% confidence
Finding
https://api.open-meteo.com/

External Script Fetching

High
Category
Supply Chain
Content
CITY=${1:-Beijing}
# ...
# 主数据源
result=$(curl -s --max-time 5 "wttr.in/$CITY?format=3" 2>/dev/null)
if [ -n "$result" ] && [ "$result" != *"Unknown"* ]; then
    echo "$result"
    exit 0
Confidence
95% confidence
Finding
curl -s --max-time 5 "wttr.in/$CITY?format=3" 2>/dev/null) if [ -n "$result" ] && [ "$result" != *"Unknown"* ]; then echo "$result" exit 0 fi # ... # 备选数据源 echo "wttr.in 不可用,切换到 Open-Meteo..."

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.