Back to skill

Security audit

Polymarket Weather Trader

Security checks across malware telemetry and agentic risk

Overview

This is a disclosed weather-trading skill, but it can place real-money trades and exposes a live safety-bypass flag that warrants careful review before installation.

Install only if you deliberately want an automated Simmer/Polymarket weather-trading tool. Start in dry-run or TRADING_VENUE=sim, keep small per-trade and daily caps, avoid providing WALLET_PRIVATE_KEY unless you understand external-wallet signing, and do not use --live together with --no-safeguards.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • 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
Findings (8)

Lp3

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding
The skill documents network-dependent behavior including API access to Simmer, NOAA/Open-Meteo, and live trading operations, but the file does not declare corresponding permissions. Undeclared network capability weakens reviewability and can cause an agent platform to invoke the skill without clear user or policy visibility into outbound requests and trading side effects.

Vague Triggers

Medium
Confidence
90% confidence
Finding
The top-level description uses broad triggers such as trading, automation, forecasts, and weather-based strategies, which can match routine informational requests rather than clear intent to place trades. In an agent-routing context, that can cause over-invocation of a financially dangerous skill, increasing the chance of unintended wallet-connected actions.

Vague Triggers

Medium
Confidence
92% confidence
Finding
The 'When to Use This Skill' section contains broad trigger phrases like checking positions, configuring thresholds, and checking weather trading context without strong exclusion conditions. Because this skill can escalate to real-money trading, broad routing criteria materially increase the risk of accidental invocation and unsafe progression from informational assistance to transactional behavior.

Missing User Warnings

Medium
Confidence
96% confidence
Finding
This manifest exposes a real trading capability and documents an optional private wallet key, but it does not present an explicit user-facing warning that the skill may place real-money trades or access self-custody credentials. In a trading automation context, that omission increases the risk of unsafe deployment, accidental live trading, and users providing sensitive wallet material without understanding the consequences.

Tool Parameter Abuse

High
Category
Tool Misuse
Content
- **Per-trade cap.** `SIMMER_WEATHER_MAX_POSITION_USD` defaults to `$2.00` per trade. Configurable via env var, capped at the user's dashboard-set platform per-trade limit.
- **Daily caps.** Platform-level daily caps apply (max trades/day, max USD/day). Set at [simmer.markets/dashboard](https://simmer.markets/dashboard?ref=sdk-skill&utm_campaign=sdk-skill) → SDK settings.
- **Auto stop-loss is ON by default.** Server-side risk monitor watches every buy. Threshold is configurable per user at simmer.markets/dashboard → Settings → Auto Risk Monitor. **It cannot protect against gap-resolution, though:** weather temperature buckets jump straight to about 0 at resolution rather than decaying through your stop, so a percentage stop has no price to trigger on and no liquidity to exit into. Size for the full loss, not for the stop. See [DISCLAIMER.md](./DISCLAIMER.md).
- **Strategy-side safeguards.** Beyond platform risk monitors, this skill checks flip-flop, slippage (`SIMMER_WEATHER_SLIPPAGE_MAX`, default 15%), time-decay, and resolved-market status before every order. Disable only with `--no-safeguards` (not recommended).
- **Reversibility.** Open positions exit automatically when price > `SIMMER_WEATHER_EXIT_THRESHOLD` (default `0.45`), or via `client.cancel_order()` / a manual sell.

If anything above isn't clear, stop and ask the user before passing `--live`.
Confidence
89% confidence
Finding
--no-safe

Tool Parameter Abuse

High
Category
Tool Misuse
Content
python weather_trader.py --config

# Disable safeguards (not recommended)
python weather_trader.py --no-safeguards

# Disable trend detection
python weather_trader.py --no-trends
Confidence
91% confidence
Finding
--no-safe

Tool Parameter Abuse

High
Category
Tool Misuse
Content
- **Time decay**: Skips if market resolves in < 2 hours
- **Market status**: Skips if market already resolved

Disable with `--no-safeguards` (not recommended).

## Source Tagging
Confidence
88% confidence
Finding
--no-safe

Tool Parameter Abuse

High
Category
Tool Misuse
Content
parser.add_argument("--set", action="append", metavar="KEY=VALUE",
                        help="Set config value (e.g., --set entry_threshold=0.20)")
    parser.add_argument("--smart-sizing", action="store_true", help="Use portfolio-based position sizing")
    parser.add_argument("--no-safeguards", action="store_true", help="Disable context safeguards")
    parser.add_argument("--no-trends", action="store_true", help="Disable price trend detection")
    parser.add_argument("--vol-targeting", action="store_true", help="Enable volatility targeting (dynamic position sizing based on realized vol)")
    parser.add_argument("--quiet", "-q", action="store_true", help="Only output when trades execute or errors occur (ideal for high-frequency runs)")
Confidence
85% confidence
Finding
--no-safe

VirusTotal

65/65 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.