T08 · Insecure Dependencies
- Location
SKILL.md:256- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:256
Vulnerability Type: Unpinned and non-reproducible third-party dependency installation
Risk Level: MediumVulnerable Code Snippet:
markdown | requests | Python library | Required | pip install requests |Technical Analysis
The documentation instructs users to install
requestswithout specifying an audited version, cryptographic hashes, a lockfile, or an explicit trusted package index. Consequently, the dependency and its transitive components may change after the Skill has been reviewed.Although no malicious package is present in the audited project, this installation pattern creates a supply-chain exposure. If a future package release, transitive dependency, or configured package index is compromised, installation or subsequent use could execute attacker-controlled Python code. The risk is greater where users have configured an untrusted package mirror or run package installation with elevated privileges.
Attack Path
- An attacker compromises a future release in the relevant dependency chain or causes the victim's Python package manager to use a malicious package index.
- The user follows the Skill documentation and executes
pip install requests. - Because no version or artifact hash is enforced,
pipresolves and downloads the currently available package artifacts. - A malicious artifact is installed into the selected Python environment.
- Attacker-controlled code executes during an applicable installation or runtime path with the privileges of the user running Python or
pip.
Impact Assessment
Successful exploitation could provide code execution under the installing user's account. The accessible scope may include files, environment variables, API credentials, and network resources available to that account. If installation is performed as an administrator or root user, the impact could extend to system-wide Python ...[truncated 171 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
requestsand all transitive dependencies to versions that have been reviewed. - Provide a lockfile or requirements file containing cryptographic hashes, and require hash verification during installation, for example with
pip install --require-hashes -r requirements.txt. - Specify an approved HTTPS package index and warn users against untrusted mirrors or additional indexes.
- Run installation and execution inside an isolated virtual environment under a non-privileged account.
- Add automated dependency vulnerability and integrity scanning to the release process.
- Periodically update the pinned versions through a controlled review and testing process rather than permitting unconstrained resolution at installation time.
- Pin
