T08 · Insecure Dependencies
- Location
SKILL.md:137- Finding
Unpinned installation of the requests package
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 137-141
Vulnerability Type: Unpinned third-party dependency
Risk Level: MediumEvidence
bash # Ensure the Python environment is available python3 --version # ... # Dependency instructions pip install requestsTechnical Analysis
The skill instructs the agent to install
requestswithout specifying an exact version, lock file, package hash, or trusted package-index configuration. Consequently, the artifact selected bypipcan change between executions even though the reviewed skill remains unchanged.If the package index, maintainer account, dependency resolution process, or one of the package's transitive dependencies is compromised, a future installation could retrieve attacker-controlled content. A malicious source distribution could execute code through its build process, while malicious installed package code could execute when imported.
There is no evidence that the legitimate
requestspackage is currently malicious. The vulnerability is the non-reproducible and insufficiently verified dependency installation process.Attack Path
- An attacker compromises a relevant package publisher, package-index account, release channel, or transitive dependency.
- The attacker publishes a malicious version that satisfies the unconstrained
pip install requestscommand. - An agent follows the skill's environment-preparation instructions using its
execcapability. pipresolves and downloads the attacker-controlled release because no approved version or artifact hash is enforced.- Malicious code executes during package build or later package use with the permissions of the agent process.
Impact Assessment
Successful exploitation could provide arbitrary code execution under the operating-system account running the agent or installation command. This may permit access to documents, environment variables, API cre ...[truncated 199 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove
requestsif it is not required; the documented Word-generation example does not use it. - Pin every direct and transitive dependency to an reviewed version in a lock file.
- Install with hash verification, for example through a fully hashed requirements file and
pip install --require-hashes -r requirements.txt. - Configure an approved package index or internal artifact mirror rather than relying on unrestricted resolver configuration.
- Install dependencies inside an isolated virtual environment or container under a non-privileged account.
- Add automated dependency vulnerability and provenance scanning.
- Document the exact tested dependency set and update it only through a reviewed process.
- Remove
