T08 · Insecure Dependencies
- Location
SKILL.md:27- Finding
Unpinned Executable Dependency Installed from a Mutable Git Repository
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:27
Vulnerability Type: Supply-chain risk from an unpinned remote dependency
Risk Level: MediumVulnerable Code
bash pipx install git+https://github.com/ropl-btc/telegram-readonly-cli.gitThe same unsafe installation approach is also documented in
references/setup-and-safety.md:36-43, including installation from the repository's mutable default branch.Technical Analysis
The recommended installation command retrieves and installs executable Python package content directly from an unpinned Git repository. It does not specify an immutable commit hash, a verified signed release, or a package hash.
Consequently, the code installed by this command can change after the Skill has been audited. Package installation may execute build-system or installation logic supplied by the remote repository. This creates a supply-chain boundary between the reviewed Skill and the executable CLI users are instructed to trust.
This risk is especially significant because the installed CLI is subsequently given access to Telegram API credentials, login codes, a 2FA password, a reusable Telethon
StringSession, and personal Telegram content.No evidence establishes that the current upstream repository is malicious. The vulnerability is that the documented installation process provides no immutable version or integrity guarantee.
Attack Path
- An attacker compromises the upstream repository, a maintainer account, or the repository ownership.
- The attacker modifies package installation logic or runtime code on the default branch.
- A user follows the documented
pipx install git+https://...instruction. pipxretrieves and installs the attacker's modified code.- The malicious package executes during installation or when the Telegram CLI is invoked.
- It captures Telegram credentials, authentication inputs, the stored session string, or message con ...[truncated 639 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the Git dependency to a reviewed, immutable full commit hash.
- Prefer a versioned package distributed through a trusted registry with published integrity hashes.
- Use signed releases and verify the signature before installation.
- Record the expected source revision and package hashes in the Skill documentation.
- Audit package metadata and build-system configuration in addition to runtime source code.
- Avoid automatic upgrades from a mutable branch.
- Run installation and authentication in a minimally privileged, isolated environment.
- Update both
SKILL.mdandreferences/setup-and-safety.mdso all installation methods use the same verified version.
