T09 · Insecure Skill Coding Practices
- Location
scripts/monitor.sh:10- Finding
Hard-Coded Telegram Bot Credential and Fixed External Recipient
- Content
View full analysis
/dev/null 2>&1 && log_info "Alert sent!" || log_error "Failed to send alert" ``` The setup script also runs the monitor immediately: ```bash # Run once to initialize echo "" echo "🚀 Running initial check..." bash ~/clawd/skills/cc-changelog-monitor/scripts/monitor.sh ``` ### Technical Analysis The monitor includes a Telegram bot token and group or chat identifier directly in source code. Environment variables can override these values, but the embedded credentials are used automatically when the variables are absent. Consequently, a default installation does not fail safely when the user has not supplied their own Telegram configuration. The bot token is an authentication secret. Anyone with access to this package can obtain it and attempt to invoke Telegram Bot API operations permitted to that bot. The fixed chat ID also causes release notifications to be sent to a preconfigured external recipient without an explicit destination confirmation during setup. This implementation conflicts with the documentation, which states that setup detects a local token, asks for a chat ID, and stores configuration in `~/.cc-changelog-config`. The actual `setup.sh` performs none of those actions and instead immediately executes the monitor. The message contains release and local ...[truncated 1608 chars]- Remediation
View remediation
