Back to skill

Security audit

Polymarket Trade 1.0.6

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed Polymarket market viewer with optional local watchlist alerts and paper-trading records, not real trading or credential use.

Before installing, be comfortable with the skill fetching public Polymarket data and storing watchlist and paper-trading JSON files in ~/.polymarket. The cron examples and local state changes only happen if you run or configure those commands; it does not use wallets, API keys, or real-money trading.

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
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (8)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The skill is presented primarily as a market-query tool, but it also persists watchlists, tracks alerts, and manages a local paper-trading portfolio under ~/.polymarket/. This mismatch can mislead users and reviewers about stateful behavior and local data modification, which is risky because users may invoke it expecting read-only behavior when it actually writes files and maintains ongoing state.

Content

No source excerpt is available for this finding.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 244)May include surrounding context.

md
Review `scripts/polymarket.py` before first use to verify behavior.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding

The skill uses network access and persistent local file reads/writes but does not declare any explicit tool scope or permissions boundary. That makes its real capabilities less transparent to users and the hosting agent, increasing the chance of over-privileged execution or unsafe deployment assumptions.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest describes a read-oriented market query tool: checking odds, finding trending markets, searching events, and tracking price movements. This file also creates a local data directory and persists mutable watchlist and portfolio state, including simulated buy/sell operations, which materially expands behavior beyond simple querying.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The stated purpose is to query prediction markets and track market information. The buy/sell and portfolio commands introduce a separate paper-trading capability with transaction history and cash/position accounting, which is not an obvious requirement for querying odds or market discovery.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

This code writes JSON data into a persistent directory under the user's home folder (~/.polymarket), which affects local user data. While the function has a technical docstring, the script does not provide a general upfront disclosure or confirmation that watchlist and portfolio actions will create or overwrite local files.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The remove action modifies the persisted watchlist on disk, which is a user-data-affecting operation. Although success is printed afterward, there is no prior disclosure or warning that the command will permanently update the stored watchlist file.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

This operation changes persisted portfolio state by deleting a position from the saved positions list and writing updated history and cash balances to disk. The command reports results after execution, but it does not warn beforehand that saved local portfolio data will be modified.

Content

No source excerpt is available for this finding.