Polymarket Arbitrage Cn

WarnAudited by ClawScan on May 10, 2026.

Overview

The skill mostly monitors public Polymarket prices, but it needs review because its monitor script uses unsafe shell command construction and can print token-bearing webhook URLs.

Use this only after reviewing or patching monitor.py. Prefer one-time paper-trading runs, use a virtual environment, do not pass secret webhook URLs unless token logging is fixed, and avoid untrusted values for --data-dir. The skill does not execute trades, so manually verify any financial opportunity before acting.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

If an agent or user passes an untrusted or malformed data directory, the script could run unintended commands on the user's machine.

Why it was flagged

The monitor builds shell command strings using user-controllable path values such as --data-dir, then runs them with shell=True and no quoting. A crafted path containing shell metacharacters could cause arbitrary local command execution when the monitor runs.

Skill content
subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=60) ... parser.add_argument('--data-dir', default='./polymarket_data' ... ) ... fetch_cmd = f"python3 {script_dir}/fetch_markets.py --output {markets_file} --min-volume 50000"
Recommendation

Replace shell=True string commands with subprocess.run([...], shell=False), validate or quote paths, and avoid accepting data-directory values from untrusted text.

What this means

A Telegram or similar webhook token could be revealed to anyone who can see command output or stored logs.

Why it was flagged

The script accepts a webhook URL for alerts and prints the full value to stderr. The SKILL.md example uses a Telegram-style URL that can contain a bot token, so this can expose credentials in logs or agent transcripts.

Skill content
parser.add_argument('--alert-webhook', type=str, help='Webhook URL for alerts') ... if webhook_url: print(f"[ALERT] Would send to webhook: {webhook_url}", file=sys.stderr)
Recommendation

Do not print full webhook URLs; mask tokens, treat alert endpoints as secrets, and declare any supported webhook credential handling clearly.

What this means

Future package changes or a compromised local Python environment could affect what code runs.

Why it was flagged

The skill instructs users to install Python packages from PyPI without pinned versions or hashes. This is purpose-aligned for the scripts, but dependency provenance and repeatability are not locked down.

Skill content
pip install requests beautifulsoup4
Recommendation

Install in a virtual environment and prefer pinned, reviewed dependency versions.

What this means

The script may keep making periodic network requests and writing local state until stopped.

Why it was flagged

The skill supports a long-running monitoring loop and local state files. This is disclosed and aligned with the monitoring purpose, but users should start it intentionally and know how to stop it.

Skill content
python scripts/monitor.py --interval 300 --min-edge 3.0 ... Stop with `Ctrl+C` ... Saves state to `polymarket_data/`
Recommendation

Run continuous monitoring only when explicitly needed, use --once for one-time scans, and stop the process when finished.