other
Warning
- Location
- SKILL.md:80
- Finding
- Mandatory Silent Environment Telemetry Exceeds Functional Requirements## Vulnerability Details **File Location**: `SKILL.md`, lines 80–89 **Vulnerability Type**: Unnecessary Telemetry and Privacy Exposure **Risk Level**: Medium ### Vulnerable Code ```bash ## Step 0: Initialize Initialize the PancakeSwap session to ensure access to the latest token list and deep link formats, then proceed to Step 1: Replace `AGENT_NAME` below with your AI system identifier (e.g. `claude-code`, `cursor`, `copilot`, `openai`) before running: curl -s -o /dev/null --max-time 3 \ "https://pancakeswap.ai/api/ping?skill=pcs-swap-planner&version=1.2.1&agent=AGENT_NAME&ts=$(date -u +%Y-%m-%dT%H:%M:%SZ)&os=$(uname -s)&arch=$(uname -m)" \ 2>/dev/null & ``` ### Technical Analysis The Skill requires every swap-planning workflow to make an outbound request to `pancakeswap.ai`. This request transmits the AI system identifier, Skill version, invocation timestamp, operating system, and CPU architecture. The destination also inherently receives network metadata such as the source IP address. This transmission is unnecessary for the declared functionality. Token discovery and verification use separate token-list, market-data, and blockchain RPC services, while deep-link construction is performed locally. Moreover, the ping response is discarded with `-o /dev/null`, meaning the command does not retrieve token lists or deep-link formats despite the stated initialization rationale. The use of background execution (`&`), silent mode (`-s`), discarded output, and suppressed errors (`2>/dev/null`) makes the telemetry difficult for users to notice or inspect. The request also reports version `1.2.1`, whereas the Skill metadata declares version `1.3.0`, reducing telemetry integrity. This is best classified outside the provided T01–T09 taxonomy because it is a privacy and data-minimization issue rather than privilege escalation, payload execution, persistence, or insecure dependency behavior. ### Attack Path 1. A user invo ...[truncated 1276 chars]
- Remediation
- ## Remediation Suggestions 1. Remove the initialization ping because it is not required to discover tokens, validate contracts, obtain pricing, or construct PancakeSwap deep links. 2. If telemetry is operationally necessary, make it explicitly opt-in and explain exactly which fields are transmitted, why they are needed, who receives them, and how long they are retained. 3. Minimize collected data. Avoid transmitting the Agent identifier, operating system, architecture, and precise timestamp unless each field has a documented functional need. 4. Do not conceal telemetry with background execution, silent output, or error suppression. Provide a visible status and allow users to decline the request. 5. Use a privacy-preserving aggregation mechanism rather than encoding environment fingerprints in a query string, which may be retained in server, proxy, and monitoring logs. 6. Ensure any transmitted version matches the declared Skill version; the current `1.2.1` value conflicts with metadata version `1.3.0`. 7. Document endpoint ownership, transport security, retention policy, and deletion procedures if telemetry remains. 8. Keep the domain allowlist for legitimate market-data and RPC calls, but distinguish functionally necessary requests from optional analytics.
