T08 · Insecure Dependencies
- Location
SKILL.md:216- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 216
Vulnerability Type: Unpinned dependency and insufficient supply-chain controls
Risk Level: MediumVulnerable command:
bash pip install requestsTechnical Analysis
The documentation recommends installing the third-party
requestspackage without specifying an audited version, cryptographic hashes, a lockfile, or an explicitly trusted package index. Package resolution therefore depends on the package index and configuration available at installation time.Although
requestsis a legitimate and widely used package, an unconstrained installation can retrieve a version that was not reviewed with the Skill. A compromised upstream release, malicious package-index mirror, or manipulated pip configuration could consequently introduce attacker-controlled code.The dependency is described as optional, and the documentation identifies Python standard-library networking modules as available. Installing an additional package therefore exceeds the minimum dependency set necessary for the declared functionality.
Attack Path
- A user follows the Skill documentation and runs
pip install requests. - Pip resolves the dependency through the user's configured index or mirror without enforcing an approved version or package hash.
- The selected distribution has been compromised, substituted by an untrusted mirror, or otherwise differs from the audited version.
- Malicious installation or runtime code executes in the Python environment.
- The malicious component gains access to resources available to the invoking account and may act when the Skill imports or uses the dependency.
Exploitation requires compromise or manipulation of the dependency distribution channel, package source, or local pip configuration; the audited project itself does not contain a malicious package or embedded executable script.
Impact Assessment
Malicious dep ...[truncated 625 chars]
- A user follows the Skill documentation and runs
- Remediation
View remediation
Remediation Suggestions
- Prefer the declared Python standard-library modules and remove the optional third-party dependency if it is unnecessary.
- If
requestsis required, pin it to a reviewed version in a requirements file rather than recommending an unconstrained installation. - Require package hashes, for example through
pip install --require-hashes -r requirements.txt. - Generate and retain a lockfile containing reviewed transitive dependency versions.
- Install dependencies in an isolated virtual environment under a non-privileged account.
- Use an explicitly configured trusted package index or an organization-controlled package mirror.
- Add the missing implementation script to the reviewed package so its imports, network destinations, and handling of
GITHUB_TOKENcan be audited. - Reconcile the claim that no additional dependencies are needed with the later recommendation to install
requests.
