T08 · Insecure Dependencies
- Location
README.md:31- Finding
Unpinned Third-Party Dependencies Create a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
README.md:31
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumCode Snippet:
bash # Install dependencies pip install scipy pandas requestsTechnical Analysis
The documented installation command installs mutable versions of
scipy,pandas, andrequestsfrom pip's configured package index. The project does not provide version constraints, a lockfile, package hashes, or an explicit trusted index.Consequently, installations performed at different times can resolve to different dependency versions that have not been reviewed with the Skill. If a dependency release or configured package source is compromised, attacker-controlled package installation or runtime code could execute with the same privileges as the user running pip or the Skill.
No evidence was found that the currently named dependencies are malicious. This finding concerns the absence of supply-chain integrity controls.
Attack Path
- An attacker compromises the release process or distribution account of one of the named dependencies, or influences the package index configured in the user's environment.
- The attacker publishes or substitutes a malicious package version.
- A user follows the documented unpinned
pip installcommand. - Pip resolves and installs the attacker-controlled release because no approved version or hash is required.
- Malicious code executes during package installation or when the dependency is imported by the Skill.
Impact Assessment
Successful exploitation could execute arbitrary code with the privileges of the user installing or running the Skill. Depending on that user's environment, this could expose accessible files, environment variables, API credentials, and network resources. It would not inherently provide privileges beyond those already held by the affected process, but installation with elevated privileges would incr ...[truncated 26 chars]
- Remediation
View remediation
Remediation Suggestions
- Create a reviewed dependency file with exact versions, such as
requirements.txt. - Generate and verify cryptographic hashes for every direct and transitive dependency.
- Install with hash enforcement:
bash python3 -m pip install --require-hashes -r requirements.txt - Document the trusted package index and use an explicit index URL in controlled deployments.
- Regularly scan pinned packages for known vulnerabilities and update them through a reviewed process.
- Install dependencies in an isolated virtual environment without administrative privileges.
- Remove
pandasfrom the installation instructions if it is not required by the supplied implementation.
- Create a reviewed dependency file with exact versions, such as
