T09 · Insecure Skill Coding Practices
- Location
SKILL.md:118- Finding
Full Telegram Bot Token Is Collected and Reproduced in Conversation Output
- Content
View full analysis
": { "enabled": true, "dmPolicy": "pairing", "botToken": "", "groupPolicy": "allowlist", "streamMode": "partial" } ``` Lines 118–127 explicitly require the full token to be reproduced during the configuration review: ```markdown ### 3. Telegram Bot Account (add to channels.telegram.accounts) ```json "": { "enabled": true, "dmPolicy": "pairing", "botToken": "", "groupPolicy": "allowlist", "streamMode": "partial" } ``` ``` ### Technical Analysis A Telegram bot token is a bearer credential: anyone who obtains it can authenticate to the Telegram Bot API as the associated bot. The skill requires the user to submit this credential through the conversation and then directs the agent to display the complete token in a configuration summary. Reproducing the full token is unnecessary for review and increases the number of locations in which the credential may persist. Depending on the surrounding platform, copies could remain in conversation history, model context, operational telemetry, debugging output, screenshots, exports, or other logs. Although the skill warns users to keep tokens secure, its workflow contradicts that warning by handling and displaying the token in plaintext. The token must ultimately be made available securely to the relevant service, but it does not need to be echoed in agent responses or embedded visibly in a review message. ### Attack Path 1. A user invokes the skill to create ...[truncated 1799 chars]- Remediation
View remediation
