T08 · Insecure Dependencies
- Location
SKILL.md:8- Finding
Unpinned Third-Party Python Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:8-10
Mirrored Location:clickup/SKILL.md:8-10
Vulnerability Type: Unpinned dependency and non-reproducible package installation
Risk Level: MediumVulnerable Code:
yaml dependencies: - python3 - pip:requestsTechnical Analysis
The Skill declares the
requestspackage without an exact version, package hash, lock file, or explicit trusted package index. Consequently, the installed code may change between installations even when the Skill package itself remains unchanged.This creates a supply-chain risk if the configured package index is compromised, a malicious package is introduced through dependency resolution, or a future package release is compromised. The audit found no evidence that the current
requestspackage is malicious; the vulnerability is the absence of reproducible and integrity-verified dependency resolution.Attack Path
- An attacker compromises a package release, a transitive dependency, or the package index used by the installation environment.
- The Skill environment resolves
pip:requestswithout enforcing a reviewed version or cryptographic hash. - Pip downloads and installs the attacker-controlled package content.
- Malicious package code executes during installation or when
requestsis imported byscripts/clickup_client.py. - The code operates with the privileges of the installation process or Agent runtime and may access the ClickUp token available in
CLICKUP_API_TOKEN.
Impact Assessment
Successful exploitation could permit arbitrary Python code execution with the privileges of the Skill installer or Agent process. Depending on the runtime environment, this may expose environment variables—including the ClickUp API token—local files accessible to the process, and ClickUp resources authorized by the token. The affected scope is not inherently limited to ClickUp because compromised ...[truncated 34 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
requestsand every transitive dependency to reviewed versions. - Maintain dependencies in a lock file generated from a controlled build environment.
- Require cryptographic hashes during installation, such as with
pip install --require-hashes. - Configure an explicit trusted package index rather than relying on ambient pip configuration.
- Run dependency vulnerability and provenance checks in CI.
- Keep both copies of
SKILL.mdsynchronized so that the nested package cannot retain an unsafe dependency declaration. - Perform dependency updates through a reviewed process that regenerates and verifies the lock file and hashes.
- Pin
