T09 · Insecure Skill Coding Practices
- Location
SKILL.md:24- Finding
Telegram Bot Token Exposed Through URL and Unprotected Plaintext Configuration
- Content
View full analysis
/getUpdates ``` ```yaml plugins: entries: - plugin: openclaw-telegram config: botToken: "123456789:ABCdefGHI..." ``` ### Technical Analysis The setup instructions encourage users to place a Telegram bot token directly in a URL. URLs can be retained in browser history, copied into diagnostic records, exposed to browser extensions, or captured by local monitoring and logging systems. Although HTTPS protects the URL path in transit from ordinary network observers, it does not prevent disclosure through endpoint history, application telemetry, screenshots, or improperly configured proxies. The instructions also place the token directly in `~/.openclaw/config.yaml` without requiring restrictive file permissions or recommending a supported secret-management mechanism. If the file inherits permissive permissions, other local users or processes may be able to read the credential. A Telegram bot token acts as the authentication credential for Telegram Bot API requests. Possession of the token permits API operations available to that bot without requiring an additional password. ### Attack Path 1. A user follows the documented procedure and substitutes the real bot token into the `getUpdates` URL or stores it in `~/.openclaw/config.yaml`. 2. The credential is retained in browser history, logs, telemetry, backups, or a configuration file readable by another local account or process. 3. An attacker with access to one of those sources extracts the bot token. 4. The attacker submits authenticated requests to the Telegram Bot API using the stolen token. 5. Depending on the bot's configuration and Telegram API state, the attacker can send messages as the bot, inspect available updates, retrieve ...[truncated 895 chars]- Remediation
View remediation
