Back to skill

Security audit

Telegram Discord Bot Dev

Security checks for vulnerabilities and agentic risk

Overview

This is a simple bot-development guidance skill with no bundled executable code, but users should review its privacy guidance gaps and mutable install command.

Before installing, verify the ClawHub package source and prefer a pinned installer version where available. When using this skill to design real Telegram or Discord bots, handle bot tokens securely, minimize analytics data, get appropriate user consent, set retention limits, and follow platform messaging and anti-spam rules.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:11
Finding
Unpinned Third-Party Package Execution via Mutable npm Tag## Vulnerability Details **File Location**: `SKILL.md`, lines 11–13 **Vulnerability Type**: Supply-chain risk from an unpinned executable dependency **Risk Level**: Medium **Complete Code Snippet**: ```bash npx clawhub@latest install telegram-discord-bot-dev ``` ### Technical Analysis The documented installation command invokes `npx` with the mutable `@latest` tag. Depending on the local npm environment, `npx` can download and execute package-controlled code, including command-line entry points and lifecycle scripts. Because `@latest` does not identify an immutable, previously reviewed release, the code executed by users can change after this Skill has been audited. This creates a supply-chain trust boundary: compromise of the `clawhub` package, its publisher account, its transitive dependencies, or the package registry could cause the installation command to execute behavior that was not present during review. The project contains no version pin, lockfile, checksum, signature requirement, or other integrity control that constrains the downloaded package. ### Attack Path 1. An attacker compromises the package publisher, dependency chain, or registry distribution path, or otherwise causes a malicious release to become the version selected by the `latest` tag. 2. A user follows the installation command in `SKILL.md`. 3. `npx` resolves and downloads the attacker-controlled release. 4. Package-controlled command-line or lifecycle code executes with the privileges of the user running `npx`. 5. The malicious release can access resources available to that user, subject to operating-system and environment restrictions. ### Impact Assessment Successful exploitation could permit arbitrary code execution under the installing user's account. Potential scope includes reading or modifying user-accessible files, accessing environment variables and locally available credentials, making network requests, and altering project files. If the ...[truncated 338 chars]
Remediation
## Remediation Suggestions - Replace `@latest` with an exact, reviewed package version rather than a mutable distribution tag. - Verify the package publisher, registry source, release provenance, and dependency tree before recommending execution. - Use lockfiles and registry integrity hashes where applicable so dependency resolution is reproducible. - Prefer signed releases or provenance attestations and verify them in the installation workflow. - Review package lifecycle scripts and avoid or disable them when they are not required. - Run installation in a least-privileged, isolated environment without production credentials or sensitive host mounts. - Establish a controlled update process in which each new package version is reviewed and tested before the documented pin is changed.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The skill advertises analytics, webhook integrations, automated replies, and scheduled messaging without warning about collection, retention, consent, or platform-policy implications. In the Telegram/Discord context, these features may involve user identifiers, message content, behavioral tracking, and outbound communications, so omission of privacy and compliance guidance increases the risk of misuse or noncompliant deployments.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding
The install command uses `npx clawhub@latest`, which pulls whatever the latest published package is at execution time rather than a reviewed, fixed version. This creates a supply-chain risk: a compromised upstream release or typo/ownership issue could cause users to run unexpected code during installation.

Vague Triggers

Medium
Confidence
96% confidence
Finding
The trigger condition `當用戶話「整Bot」既時候` is broad enough to match ordinary conversation, which can activate the skill unexpectedly. In a skill that discusses development quotes, architecture, and bot-building workflows, unintended activation can cause confusing behavior, disclosure of irrelevant instructions, or actions taken under the wrong context.

Natural-Language Policy Violations

Low
Confidence
87% confidence
Finding
The skill description and example interaction are written entirely in Cantonese/Traditional Chinese, with no indication that the assistant can switch languages based on user preference. This may violate language/locale policy expectations when a choice or opt-in is not provided.

Static analysis

No suspicious patterns detected.