T08 · Insecure Dependencies
- Location
references/install.md:7- Finding
Unpinned and Mutable TCCLI Installation Sources
- Content
View full analysis
Vulnerability Details
File Location:
references/install.md, lines 7–20
Vulnerability Type: Unpinned third-party dependencies and mutable source installation
Risk Level: MediumComplete Code Snippet:
sh # Method 1: pip (recommended for Windows / macOS / Linux) pip install tccli # When upgrading from a version earlier than 3.0.252.3: # pip uninstall tccli jmespath && pip install tccli # Method 2: macOS Homebrew brew tap tencentcloud/tccli brew install tccli # Update: brew upgrade tccli # Method 3: source installation # git clone https://github.com/TencentCloud/tencentcloud-cli.git && cd tencentcloud-cli && python setup.py installTechnical Analysis
The documented installation methods retrieve mutable upstream content without pinning a reviewed package version, source commit, dependency lock file, checksum, or cryptographic signature.
pip install tcclimay also retrieve and execute build or installation logic from transitive dependencies. The Homebrew commands trust the current state of an external tap, while the source method clones the repository's current default branch and runs its setup script.The source-installation command is commented documentation rather than automatically executed code. Its URL points to the TencentCloud GitHub organization, not a personal pastebin or code-hosting account. Nevertheless, a user following the instruction would download and execute mutable remote code.
These installation privileges are not intrinsically required for every invocation of the Skill. Installation should be a separate, explicit prerequisite performed with ordinary user privileges and verified artifacts. The Skill does not instruct users to run the commands as root, which limits but does not eliminate the risk.
Attack Path
- An attacker compromises an upstream package release, GitHub repository branch, Homebrew tap, maintainer account, or transiti ...[truncated 1307 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin TCCLI to a reviewed version, such as
pip install tccli==<approved-version>. - Publish and verify SHA-256 hashes or trusted package signatures before installation.
- Pin all transitive dependencies with a reviewed lock file and hash verification, such as pip's
--require-hashes. - For source installation, use a reviewed immutable commit or signed release tag rather than the default branch.
- Replace the deprecated
python setup.py installworkflow with a verified wheel or standards-based build and installation process. - Pin the Homebrew formula or document the exact reviewed release instead of relying on the tap's current mutable state.
- Perform installation in an isolated virtual environment under a non-administrative account.
- Keep installation separate from normal Skill execution and require explicit user approval before downloading or installing software.
- Advise users to apply least-privilege Tencent Cloud CAM policies so compromise of a local credential cannot expose unrelated cloud resources.
- Pin TCCLI to a reviewed version, such as
