other
- Location
SKILL.md:24- Finding
Excessive Disclosure of Telegram Caller Identity to an External Service
- Content
View full analysis
" ``` Include this in all POST and PATCH request bodies, and as `?callerId=telegram:` on GET requests. If `origin.from` is unavailable, omit `callerId` rather than sending a placeholder. ``` Representative transmission: ```bash curl -s -H "Authorization: Bearer $AGENT_SECRET" \ "https://api.zhentan.me/analyze/tx-XXX?callerId=telegram:" ``` ### Technical Analysis The Skill directs the agent to extract a stable numeric Telegram user identifier from session context and transmit it to `api.zhentan.me`. It requires this identifier in all POST and PATCH bodies and on at least some GET requests. A caller identifier may legitimately be required for authorization or tenant routing. However, the documented behavior sends it more broadly than the minimum demonstrated need, including analysis, notification, invoice, rule, and configuration requests. The Skill provides no disclosure, consent, retention, deletion, or data-minimization controls. Because the external service also receives transaction identifiers, Safe addresses, risk-analysis requests, rule changes, invoices, and approval decisions, it can associate a Telegram identity with wallet activity and financial behavior. ### Attack Path 1. A Telegram user invokes the Skill. 2. The agent reads the numeric user identifier from `origin.from`. 3. The Skill constructs `callerId` as `telegram:`. 4. The identifier is transmitted to `https://api.zhentan.me` with financial and operational requests. 5. The external service can correlate the st ...[truncated 684 chars]- Remediation
View remediation
