T01 · Skill Instruction Hijacking
- Location
monitor.py:259- Finding
Unconditional Third-Party Promotional Content in User-Facing Reports
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill does what it says, but it handles Telegram bot credentials in a risky and under-disclosed way and adds unrelated crypto promotion to reports.
Install only if you are comfortable with the skill storing monitor state locally and making repeated network calls to DexScreener. Avoid using the Telegram option unless you are willing to expose a bot token to a plaintext config file and possible command history; use a dedicated low-privilege bot token and revoke it if it may have been logged. Expect generated reports to include ShepDog/$SHEP promotional text.
monitor.py:259Unconditional Third-Party Promotional Content in User-Facing Reports
monitor.py:64Telegram Bot Credentials Stored in Plaintext and Accepted Through Command-Line Arguments
The invocation guidance is overly broad and includes common phrases like monitoring a token, watching a price, or asking how a token is doing. In an agent environment, this can cause the skill to activate when the user did not explicitly consent to running this specific tool, leading to unintended command execution and network activity against token-monitoring endpoints.
The instructions encourage passing Telegram bot credentials on the command line and storing them in config without warning about sensitivity, retention, or exposure risks. Secrets supplied this way may be visible in shell history, process listings, logs, or persisted skill configuration, which could let an attacker reuse the bot token to read or send alerts and impersonate the user's notification channel.
The skill advertises executable setup and monitoring commands that imply filesystem access and outbound network use, but it does not declare any explicit tool scope or permissions metadata. In an agent ecosystem, missing scope declarations reduce transparency and can cause the agent or user to grant broader capabilities than expected, increasing the risk of unintended file access or network activity.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
import os
from datetime import datetime, timezone
DEXSCREENER_URL = "https://api.dexscreener.com/tokens/v1/solana/{}"
TELEGRAM_API_URL = "https://api.telegram.org/bot{}/sendMessage"
DATA_DIR = os.path.expanduser("~/.openclaw/workspace/data/token-monitors")
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
import os
from datetime import datetime, timezone
DEXSCREENER_URL = "https://api.dexscreener.com/tokens/v1/solana/{}"
TELEGRAM_API_URL = "https://api.telegram.org/bot{}/sendMessage"
DATA_DIR = os.path.expanduser("~/.openclaw/workspace/data/token-monitors")
The Telegram API endpoint is used to transmit alerts and, when configured, includes user-provided bot credentials and message contents to a third-party service. In this skill context, that behavior is intentional and core to functionality, but it still creates an external data transmission path that can expose token-monitor activity and relies on secure handling of a sensitive bot token.
from datetime import datetime, timezone
DEXSCREENER_URL = "https://api.dexscreener.com/tokens/v1/solana/{}"
TELEGRAM_API_URL = "https://api.telegram.org/bot{}/sendMessage"
DATA_DIR = os.path.expanduser("~/.openclaw/workspace/data/token-monitors")
The script persists the Telegram bot token and chat ID directly into a JSON config file under the user's workspace directory. While this is not inherently malicious, storing reusable secrets in plaintext without warning, minimization, or file-permission hardening increases the risk of credential disclosure through local compromise, backups, logs, or other tools reading the workspace.
The setup instructions ask users to provide a Telegram bot token and chat ID directly on the command line without any warning about secret exposure. Command-line secrets can leak through shell history, process listings, logs, or agent telemetry, which could allow an attacker to hijack the bot and read or send messages.
No suspicious patterns detected.