Back to skill
Skillv1.1.0

ClawScan security

Polymarket Command Center · ClawHub's context-aware review of the artifact, metadata, and declared behavior.

Scanner verdict

BenignMar 14, 2026, 3:27 AM
Verdict
benign
Confidence
medium
Model
gpt-5-mini
Summary
The skill is a read-only Polymarket browser that uses public Polymarket endpoints and does not request credentials; it is largely coherent with its stated purpose though there are small documentation/packaging mismatches worth reviewing.
Guidance
This skill appears to be what it claims: a read-only Polymarket viewer that makes outbound GET requests to gamma-api.polymarket.com and clob.polymarket.com and stores a local watchlist in ~/.openclaw/state/polymarket_watchlist.json. Before installing, review the full scripts/polymarket_commands.py to confirm there are no hidden endpoints or unexpected network calls (the provided excerpt looks clean). Note the minor inconsistencies: SKILL.md documents YAML-based config (~/.openclaw/config.yaml) and requirements.txt includes pyyaml and requests, but the visible code uses urllib and explicitly reads only the JSON watchlist file — verify whether YAML config parsing is implemented in other parts of the script. Be aware the skill will create ~/.openclaw/state and read that watchlist file; if you add slugs there, they will be read and displayed. As best practices: (1) run the code in a restricted environment or review the entire file before use, (2) confirm network endpoints are the expected Polymarket APIs, and (3) if you require a strict audit trail, ensure the skill's logs and state directory are in a location you control.

Review Dimensions

Purpose & Capability
okName/description describe a read-only Polymarket interface and the included code and docs show only GET requests to public Gamma and CLOB endpoints; no credentials, special binaries, or surprising external services are requested.
Instruction Scope
noteSKILL.md describes trending/odds/search/watchlist features and points to config via ~/.openclaw/state/polymarket_watchlist.json or ~/.openclaw/config.yaml. The provided script clearly implements watchlist reading from ~/.openclaw/state/polymarket_watchlist.json and network calls to Gamma/CLOB. There is a minor inconsistency: the docs mention YAML config support (config.yaml) but the visible script portion only shows JSON watchlist loading; the presence of requirements including pyyaml suggests YAML support was intended but not visible in the truncated file. This is a documentation vs implementation mismatch, not an outright scope creep.
Install Mechanism
okNo install spec — instruction-only plus a Python script and requirements.txt. No downloads from arbitrary URLs or extract steps. The code is local and will run using standard Python libraries (requirements list contains requests and pyyaml).
Credentials
okSkill declares no environment variables or credentials. The code creates/reads ~/.openclaw/state and reads a local watchlist JSON file — this is proportionate to the watchlist feature. No access to unrelated secrets or system-wide configs is requested.
Persistence & Privilege
okalways is false; skill will create and use ~/.openclaw/state (its own data directory) but does not request permanent platform-wide privileges or modify other skills. Autonomous invocation is allowed by default (platform norm) and is not combined with other red flags.