T08 · Insecure Dependencies
- Location
SKILL.md:6- Finding
Unpinned Third-Party CLI Dependency Executes Code Outside the Audited Project
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:6, 17-30
Vulnerability Type: Unpinned executable dependency from external package repositories
Risk Level: MediumRelevant Code Snippet:
yaml metadata: {"clawdbot":{"emoji":"☁️","requires":{"bins":["ctyun-cli"]},"install":[{"id":"pip","kind":"pip","package":"ctyun-cli","bins":["ctyun-cli"],"label":"Install ctyun-cli (pip)"}]}}bash pip install ctyun-clibash pipx install ctyun-clibash git clone https://github.com/fengyucn/ctyun-cli.git cd ctyun-cli pip install -e .Technical Analysis
The Skill declares and recommends installation of an executable Python package without specifying an exact version, package hash, signed artifact, Git commit, or immutable source reference. The installed implementation is not included in the audited project, which contains only
SKILL.mdand_meta.json; consequently, its installation hooks, transitive dependencies, and runtime behavior cannot be verified from this artifact.A mutable command such as
pip install ctyun-cliresolves whichever release and dependencies are available at installation time. Likewise, cloning the default Git branch and runningpip install -e .executes content selected by the repository state at that time. Python package installation can invoke build backends and other executable packaging components before the CLI is used.This is a supply-chain weakness rather than evidence that the current upstream package is malicious. No malicious payload was found in the audited files.
Attack Path
- An attacker compromises the package publisher account, source repository, release process, or an unpinned transitive dependency.
- The attacker publishes a modified package release or changes the repository's default branch.
- A user or Agent follows the Skill's installation instructions.
pip,pipx, or the editable installation resolves and ...[truncated 860 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
ctyun-clito a reviewed exact version in both metadata and documentation. - Require cryptographic hashes for downloaded distributions, such as through a locked requirements file and
pip --require-hashes. - Pin source installations to a reviewed immutable Git commit rather than the default branch.
- Verify package provenance, publisher identity, release signatures, and repository ownership before installation.
- Audit the complete upstream source, build configuration, installation hooks, and transitive dependency lockfile.
- Prefer isolated installation with a dedicated virtual environment or restricted container.
- Install and run the CLI using a non-privileged operating-system account.
- Use least-privilege CTYUN credentials and monitor package updates before approving newer versions.
- Pin
