T08 · Insecure Dependencies
- Location
SKILL.md:143- Finding
Unpinned Third-Party Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:143-150
Vulnerability Type: Unpinned and unverified third-party dependencies
Risk Level: MediumThe installation instructions contain the following dependency installation commands:
bash ## Install a new data source # Install mootdx if it is not already installed pip install mootdx # Install Tushare as a fallback pip install tushareTechnical Analysis
The Skill instructs users to install
mootdxandtusharedirectly from the configured Python package index without specifying reviewed versions, cryptographic hashes, a lockfile, or a trusted index URL. Consequently, the exact installed artifacts and their transitive dependencies can change between installations.Python package installation may execute package-controlled build-system or setup code. If a package release, maintainer account, distribution channel, or transitive dependency is compromised, following these instructions could execute attacker-controlled code during installation. The external packages and their installation behavior are not included in this repository and therefore could not be verified by this audit.
This finding identifies a supply-chain weakness; the audited repository does not itself demonstrate that either named package is malicious.
Attack Path
- An attacker compromises a referenced package, one of its transitive dependencies, its maintainer account, or the package distribution channel.
- The attacker publishes a malicious release or modifies an artifact that remains compatible with the unconstrained package name.
- A user follows the instructions and runs
pip install mootdxorpip install tushare. - Pip resolves the mutable malicious release or dependency because no version or hash constraint is present.
- Attacker-controlled build, setup, import, or runtime code executes in the user's environment.
Impact Assessment
Successful exploi ...[truncated 464 chars]
- Remediation
View remediation
Remediation Suggestions
- Create a reviewed dependency file that pins exact package and transitive-dependency versions.
- Record cryptographic hashes for every permitted distribution and install with:
bash pip install --require-hashes -r requirements.txt - Generate and maintain the lockfile with a dependency-management tool such as
pip-tools, reviewing changes whenever dependencies are updated. - Explicitly configure and document the trusted package index rather than relying on ambient pip configuration.
- Prefer binary wheels from verified publishers where appropriate, and inspect package provenance and release signatures when available.
- Install packages in an isolated virtual environment under a non-privileged account; do not use administrative or root installation.
- Add automated dependency vulnerability and integrity scanning to the release process.
- Document the reviewed versions in
SKILL.mdand replace unconstrained installation examples with the locked installation procedure.
