T08 · Insecure Dependencies
- Location
SKILL.md:23- Finding
Unpinned Tencent Cloud CLI Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:23-27
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable Code
json { "id": "pip-tccli", "kind": "pip", "package": "tccli", "bins": ["tccli"], "label": "Install tccli (Tencent Cloud CLI)" }The documentation also recommends an unpinned installation at
SKILL.md:64-69:bash # tccli (Tencent Cloud command-line tool, used internally) pip3 install tccli # jq (JSON processing) apt install jq # Ubuntu/Debian brew install jq # macOSThe resulting executable is invoked at
scripts/common.sh:74-89:bash call_tione_api() { local action="$1" local region="$2" shift 2 local extra_args=("$@") check_dependencies check_credentials log_info "Calling API: tione ${action} --region ${region}" log_debug "Additional arguments: ${extra_args[*]:-none}" local result local exit_code=0 result=$(tccli tione "$action" --region "$region" "${extra_args[@]}" 2>&1) || exit_code=$?Technical Analysis
The
tcclipackage is installed without a fixed version, lock file, or cryptographic integrity hash. Consequently, the installed code depends on whatever artifact the package repository resolves at installation time. The project then executes the resultingtcclibinary while Tencent Cloud credentials are present in the process environment.An unpinned package is not inherently malicious, and the audit found no evidence that the named
tcclipackage is currently compromised. Nevertheless, the configuration creates a supply-chain exposure: a compromised publisher account, package repository, release process, or unexpectedly incompatible future release could introduce code that executes during installation or whenevertccliis invoked.Attack Path
- An attacker compromises the package publisher, distribution repositor ...[truncated 1375 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin
tcclito a specifically reviewed version in both metadata and documentation, for example:bash python3 -m pip install "tccli==<reviewed-version>" -
Generate a requirements lock file containing cryptographic hashes and install with hash verification:
bash python3 -m pip install --require-hashes -r requirements.lock -
Explicitly configure the trusted official package index rather than relying on ambient or user-controlled index settings. Review
PIP_INDEX_URL,PIP_EXTRA_INDEX_URL, and related configuration before installation. -
Install the dependency in a dedicated virtual environment rather than into the system or user-wide Python environment.
-
Avoid running dependency installation or Skill execution as root or another privileged account.
-
Use short-lived Tencent Cloud credentials whenever supported. Apply an IAM policy that permits only the required TI-ONE read-only
Describe*actions and required regions/resources. -
Record and periodically review the pinned package's provenance, checksums, release notes, and transitive dependencies before upgrading.
-
If the platform supports it, distribute a reviewed, signed artifact or container image whose dependency versions and digests are immutable.
-
