T08 · Insecure Dependencies
- Location
SKILL.md:245- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 245
Vulnerability Type: Unpinned and integrity-unverified third-party dependency
Risk Level: MediumVulnerable Code Snippet:
bash pip install requestsTechnical Analysis
The installation command retrieves the latest available version of the
requestspackage and its transitive dependencies without version constraints, a lock file, or cryptographic hashes. Consequently, the dependency set installed by users can change after the skill has been reviewed.Although
requestsis a legitimate package and the project does not intentionally reference a suspicious package source, this installation procedure is not reproducible and does not verify artifact integrity. A compromised upstream release, dependency, package index, or package resolution path could introduce unauthorized code.Python packages and their dependencies may execute code during installation or when imported by
map_search.py. Therefore, dependency installation is part of the skill's effective execution and supply-chain attack surface.Attack Path
- A user follows the installation instruction in
SKILL.md. pipresolves the currentrequestsrelease and its transitive dependencies from the configured package index.- Because no versions or hashes are specified, the resolved artifacts may differ from those reviewed by the project maintainer.
- If an upstream artifact, transitive dependency, or configured package index has been compromised, malicious package code is installed.
- The malicious code may execute during package installation or when
map_search.pyimportsrequests.
This path requires compromise or manipulation of the dependency supply chain; the audited project itself does not contain evidence that such a compromise has already occurred.
Impact Assessment
Malicious dependency code would generally execute with the privileges of the user installing or running the skill. Depend ...[truncated 297 chars]
- A user follows the installation instruction in
- Remediation
View remediation
Remediation Suggestions
- Declare all direct and transitive dependencies in a reviewed requirements or lock file.
- Pin dependencies to exact versions rather than resolving the latest available releases.
- Record and enforce cryptographic hashes for every permitted artifact.
- Install dependencies with hash verification, for example:
bash python3 -m pip install --require-hashes -r requirements.txt- Generate the lock file from a trusted environment and review dependency updates before merging them.
- Explicitly use the official Python Package Index or an internally controlled package mirror.
- Run the skill and dependency installation inside an isolated virtual environment under a non-privileged account.
- Add automated dependency vulnerability and integrity scanning to the release process.
