T08 · Insecure Dependencies
- Location
SKILL.md:85- Finding
Unpinned Third-Party Dependency Installation Instructions
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:85-87
Vulnerability Type: Supply-chain exposure through unpinned dependencies
Risk Level: Mediummarkdown **Dependency notes**: - Parsing .docx requires: `pip install python-docx` - Parsing .pdf requires: `pip install pdfplumber`Technical Analysis
The Skill instructs users to install
python-docxandpdfplumberwithout specifying reviewed versions, cryptographic hashes, a lockfile, or an explicitly trusted package index. These commands therefore resolve whichever releases the configured Python package index currently considers appropriate.The effective dependency code can change after this Skill has been reviewed. A compromised upstream account, package-index compromise, malicious dependency release, or unexpected future release could consequently introduce code that was never audited with the Skill. Installation from a source distribution may execute build-related code, while subsequent imports and use of either package execute installed package code.
This is classified as
T08: Insecure Dependenciesbecause the risk enters through mutable third-party supply-chain components rather than malicious code embedded directly in the repository.Attack Path
- A user requests DOCX or PDF parsing.
- The required package is unavailable in the local environment.
- The user follows the documented
pip install python-docxorpip install pdfplumberinstruction. pipresolves an unpinned package release and its transitive dependencies from the configured package index.- If an upstream release, transitive dependency, package account, or index has been compromised, attacker-controlled code is installed.
- Malicious build logic may run during installation, or malicious runtime logic may run when the parser imports and uses the installed package.
Exploitation depends on compromise or malicious modification of the relevant dependency suppl ...[truncated 791 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace ad hoc installation commands with a committed dependency manifest containing reviewed, exact versions.
- Generate and verify cryptographic hashes for every direct and transitive dependency, then install with a command such as:
bash python3 -m pip install --require-hashes -r requirements.txt - Use a lockfile generated through a reproducible dependency-management process and review changes whenever dependencies are upgraded.
- Explicitly document the trusted package index and disable unintended fallback indexes where practical to reduce dependency-confusion exposure.
- Install dependencies inside an isolated virtual environment under a non-privileged account.
- Scan pinned direct and transitive dependencies for known vulnerabilities and provenance concerns before release.
- Update the documentation to reference the secured manifest rather than instructing users to install mutable latest releases directly.
