Back to skill

Security audit

Polymarket Volume Tracker

Security checks for vulnerabilities and agentic risk

Overview

The skill is not overtly malicious, but it should be reviewed because it charges users and can present lifetime Polymarket volume as recent activity while handling a billing API key on the command line.

Review before installing. Treat the reported volumes as lifetime aggregate and approximate Yes/No splits, not verified recent trading momentum. Be aware that normal use charges 0.001 USDT via skillpay.me, and avoid passing real API keys directly on the command line where they may be exposed in local process or shell history records.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/track_volume.py:292
Finding

Billing API Key Exposed Through Command-Line Arguments

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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 (6)

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The documented behavior materially misrepresents what users are paying for: it claims recent high-volume market tracking and side-specific trading volumes, while the described implementation appears to use lifetime aggregate volume and inferred Yes/No splits. In a paid financial/trading context, this can mislead users into making decisions based on inaccurate or stale metrics, turning a documentation issue into a meaningful integrity and consumer-harm risk.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The file-level description and output explicitly promise a 10-minute volume tracker, but the implemented ranking logic later uses aggregate volumeNum from the market data rather than recent trades. In a paid trading-oriented skill, this is dangerous because users may make financial decisions based on stale or misleading market activity while believing they are seeing short-term momentum.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The core processing loop ignores the available recent-trade path and instead ranks markets by aggregate volumeNum, while presenting the result as 'Top 10 Polymarket Markets (Last 10 Minutes)'. Because the skill is marketed for identifying hot/high-volume trading opportunities and charges users per call, this misrepresentation can directly mislead users into trusting unsuitable rankings and making poor financial decisions.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding

The skill documents network-dependent behavior and payment processing but does not declare any explicit tool scope or allowed-tools constraints. Missing capability scoping weakens sandboxing and review controls, increasing the risk that a runtime or future implementation can make undeclared external requests or expand behavior beyond what users and platforms expect.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The manifest description says to use the skill when a user asks about 'Polymarket trends, hot markets, or wants to find high-volume trading opportunities.' Phrases like 'trends' and 'hot markets' are broad and there are no explicit constraints or negative examples clarifying when this skill should or should not activate.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The output example says the results are for the 'Last 10 Minutes' while other sections state the skill uses total or lifetime market volume. This contradiction can cause users to trust the output as near-real-time momentum data when it may actually be long-horizon aggregate volume, which is especially risky for market-tracking and fee-charging workflows.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.