Back to skill

Security audit

Polymarketodds 1.0.0

Security checks for vulnerabilities and agentic risk

Overview

This skill coherently provides public Polymarket market lookup, alerts, and local paper-trading records without credentials or real trading authority.

Before installing, understand that this skill will contact Polymarket's public API and store your watched markets, alert thresholds, simulated positions, and trade history locally in ~/.polymarket. Cron examples are suggestions only; add them only if you want recurring checks.

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
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (5)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

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

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
90% confidence
Finding

The skill advertises network access and local file storage behavior in its documentation, but it does not declare an explicit permission or allowed-tools scope. That creates a trust and containment gap: a host or reviewer cannot easily enforce least privilege, and future code changes could expand network or filesystem use without corresponding manifest restrictions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

This code writes a watchlist file to the user's home directory via save_json('watchlist.json', watchlist), creating persistent local state under ~/.polymarket. Although the command prints a success message after saving, there is no prior disclosure in the CLI help text or user-facing warning that using watch commands stores market selections and alert thresholds on disk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

The buy flow saves portfolio positions and transaction history to portfolio.json in the user's home directory, which is a file write affecting user data retention. The script's help text and command descriptions describe paper trading behavior, but they do not explicitly warn that portfolio state and history are stored persistently on disk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

This operation updates and rewrites the persisted portfolio file, including removal of the held position and addition of sale history. While expected for a portfolio feature, the code lacks explicit user disclosure that the sell command permanently updates locally stored portfolio and history data.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.