Back to skill

Security audit

Openclaw Telegram Setup

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward Telegram setup guide for OpenClaw, but users should handle the bot token as a secret.

Before installing or following this guide, treat the Telegram bot token like a password: do not commit it, paste it into support tickets, expose it in screenshots, or leave ~/.openclaw/config.yaml readable by other users. Prefer restrictive permissions such as owner-only access, and rotate the token through BotFather if it may have been exposed.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
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
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (4)

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 25)May include surrounding context.

bash
# 方法 1:用你的 Bot 发条消息,然后访问
https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates

# 方法 2:用 @userinfobot 获取你的 ID

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The guide tells users to place a live Telegram bot token directly into a local YAML config file but gives no warning that the token is a secret or that access to the file should be restricted. If the config file is exposed through source control, backups, logs, screenshots, or multi-user systems, an attacker could take over the bot and read or send messages as it.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

The natural-language instructions, headings, and support text are presented only in Chinese, which effectively forces a specific language for users. There is no opt-in, alternative language option, or justification that this is a region-specific skill, so this appears to violate the language/locale policy described in the audit rules.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

The manifest text includes "OpenClaw CN Team," which suggests a locale-specific variant, but the file does not clarify whether this skill is intended only for a China-specific audience or whether users can choose locale behavior. Under the policy, locale constraints should be explicitly justified or optional rather than implied by metadata alone.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.