Trust Assessment
Polymarket received a trust score of 84/100, placing it in the Mostly Trusted category. This skill has passed most security checks with only minor considerations noted.
SkillShield's automated analysis identified 2 findings: 0 critical, 1 high, 1 medium, and 0 low severity. Key findings include Server-Side Request Forgery (SSRF) via unencoded path segment, Server-Side Request Forgery (SSRF) via unencoded query parameter.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. All layers scored 70 or above, reflecting consistent security practices.
Last analyzed on February 14, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings2
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Server-Side Request Forgery (SSRF) via unencoded query parameter The `tokenId` parameter, which is derived directly from user-controlled command-line arguments, is directly inserted into the query string of the URL for the `/price` and `/book` endpoints without proper URL encoding. If an attacker provides a `tokenId` containing special URL characters such as `&`, `=`, or `#`, they could inject additional query parameters, modify existing ones, or append a URL fragment. This could lead to Server-Side Request Forgery (SSRF), allowing the skill to make requests to arbitrary URLs or probe internal network resources if the `clob.polymarket.com` endpoint is vulnerable to such manipulation. Ensure all user-controlled query parameters are properly URL-encoded using `encodeURIComponent()`. For example, change `const url = `${CLOB_API}/price?token_id=${tokenId}&side=${side}`;` to `const url = `${CLOB_API}/price?token_id=${encodeURIComponent(tokenId)}&side=${encodeURIComponent(side)}`;`. Apply the same fix to the `getOrderbook` function on line 195. | LLM | polymarket.mjs:184 | |
| MEDIUM | Server-Side Request Forgery (SSRF) via unencoded path segment The `slugOrId` parameter, which is derived directly from user-controlled command-line arguments, is concatenated into the URL path for the `/markets/{id}` endpoint without proper URL encoding. If an attacker provides a `slugOrId` containing path traversal characters (e.g., `/`) or query string delimiters (e.g., `?`), they could potentially manipulate the request path or inject arbitrary query parameters. This could lead to Server-Side Request Forgery (SSRF), allowing the skill to make requests to unintended endpoints on the `gamma-api.polymarket.com` domain. Ensure all user-controlled path segments are properly URL-encoded using `encodeURIComponent()`. For example, change `const byIdUrl = `${GAMMA_API}/markets/${slugOrId}`;` to `const byIdUrl = `${GAMMA_API}/markets/${encodeURIComponent(slugOrId)}`;`. | LLM | polymarket.mjs:140 |
Scan History
Embed Code
[](https://skillshield.io/report/d79d30500ade6ac6)
Powered by SkillShield