T08 · Insecure Dependencies
- Location
SKILL.md:142- Finding
Unpinned and Unnecessary Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:142
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: MediumComplete Code Snippet:
bash pip install requestsTechnical Analysis
The Skill directs the Agent to install
requestsfrom the environment's default Python package index without specifying an exact version, integrity hash, or trusted repository. The package is also not used by the documented local DOCX example, making this an unnecessary expansion of the dependency and attack surface.An unpinned installation can resolve to a package version or transitive dependency that was not present when the Skill was reviewed. If a package release, dependency, configured package index, or source-build backend is compromised, attacker-controlled code may execute during package installation or subsequent import.
Attack Path
- An attacker compromises a future package release, one of its transitive dependencies, or a package index trusted by the execution environment.
- The Agent follows the environment preparation instructions and runs
pip install requests. pipdynamically resolves and downloads the currently available package and dependencies without validating project-approved hashes.- A malicious source-build backend may execute during installation, or malicious package code may execute when imported.
- The payload operates with the privileges and environmental access of the user running the Agent.
Impact Assessment
Successful exploitation could permit arbitrary code execution with the installing user's privileges. The accessible scope may include files, environment variables, credentials, network resources, and Agent workspace data available to that user. No evidence of an actively malicious package or deliberate exploitation was found in the audited project.
- Remediation
View remediation
Remediation Suggestions
- Remove the
requestsinstallation instruction unless an implemented and documented feature requires it. - If required, pin it and all transitive dependencies to reviewed versions in a lock file.
- Require package hashes, such as through
pip install --require-hashes -r requirements.txt. - Use an organization-controlled package mirror or explicitly trusted package index.
- Install dependencies in an isolated virtual environment under a non-privileged account.
- Perform dependency vulnerability and provenance scanning before approving updates.
- Remove the
