T09 · Insecure Skill Coding Practices
- Location
scripts/track_volume.py:292- Finding
Billing API Key Exposed Through Command-Line Arguments
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
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.
scripts/track_volume.py:292Billing API Key Exposed Through Command-Line Arguments
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.
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.
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.
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.
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.
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.
No suspicious patterns detected.