telegram-bot
Pass
Audited by Gen Agent Trust Hub on Sep 5, 2026
Risk Level: SAFECOMMAND_EXECUTIONEXTERNAL_DOWNLOADSINDIRECT_PROMPT_INJECTIONCREDENTIALS_UNSAFE
Full Analysis
- [EXTERNAL_DOWNLOADS]: The
SKILL.mdinstructions (and its copies in thepluginsandskillsdirectories) guide the agent to download the bridge's implementation code from the author's GitHub repository usinggit clone https://github.com/hec-ovi/telegram-bot-skillif the source is not already present. - [COMMAND_EXECUTION]: The skill makes extensive use of
child_process.spawnto manage the bridge daemon and execute the underlying AI agents (e.g.,claude,pi). It also executes various setup and management tasks vianpmscripts and shell commands described in the instruction files. - [CREDENTIALS_UNSAFE]: The skill handles the sensitive
TELEGRAM_BOT_TOKEN, retrieving it from environment variables or a local.envfile. It mitigates risk by instructing agents to store the token in a file with restricted permissions (mode 600), as seen insrc/setup.tsandSKILL.mdinstructions. - [INDIRECT_PROMPT_INJECTION]: The skill architecture creates a vulnerability surface by ingesting untrusted data from an external source (Telegram) and passing it as a prompt to a powerful, shell-capable agent.
- Ingestion points: External updates, including user messages and button callback data, are received from the Telegram Bot API and normalized in
src/telegram/poller.ts. - Boundary markers: A deterministic gate (
src/gate/gate.ts) provides a security boundary by enforcing user authorization based on Telegram IDs (Owner, Trusted, Guest), but it does not sanitize or add markers to the message content to prevent the underlying agent from following embedded instructions. - Capability inventory: The agent adapters (
src/agents/claude-code/adapter.ts,src/agents/pi/adapter.ts) spawn CLI agent processes that typically have significant local system access (file system, shell, networking). - Sanitization: No validation, escaping, or instruction-filtering is applied to the message text before it is interpolated into the agent's prompt.
Audit Metadata