T08 · Insecure Dependencies
- Location
SKILL.md:238- Finding
Unpinned Third-Party Package Installation Instruction
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:238
Vulnerability Type: Unpinned third-party dependencies
Risk Level: Lowpython # Requires: pip install pytesseract pdf2imageTechnical Analysis
The documentation instructs users to install
pytesseractandpdf2imagewithout specifying reviewed versions or cryptographic hashes. Consequently, dependency resolution is not reproducible and may retrieve newer, incompatible, vulnerable, or compromised releases from the configured Python package index.This risk is compounded by
_meta.jsondeclaring an empty dependency list even though the scripts rely on external packages such aspypdf,pdf2image,Pillow, andpdfplumber. There is therefore no authoritative, version-controlled dependency manifest for validating the packages required by the Skill.No evidence was found that the named packages or this project are currently malicious. The issue is the unsafe and non-reproducible dependency installation practice.
Attack Path
- A user follows the OCR prerequisite in
SKILL.md. - The user runs
pip install pytesseract pdf2imagewithout version or hash restrictions. pipresolves packages and transitive dependencies from the user's configured package index.- If an upstream package, release, index, or dependency is compromised, malicious installation or runtime code is downloaded.
- That code executes with the privileges and filesystem access of the user running
pipor the PDF workflow.
Impact Assessment
Exploitation depends on compromise or unsafe substitution within the dependency supply chain. A malicious package could execute arbitrary code with the invoking user's privileges, access files available to that user, modify the Python environment, or affect PDFs and other data processed by the Skill. The Skill itself does not request elevated privileges, so the direct privilege scope is normally limited to the account perfor ...[truncated 22 chars]
- A user follows the OCR prerequisite in
- Remediation
View remediation
Remediation Suggestions
- Add an authoritative dependency manifest containing every required runtime package.
- Pin each dependency and relevant transitive dependency to a reviewed version.
- Generate and commit a lock file with cryptographic hashes, using tooling such as
pip-tools. - Require hash verification during installation, for example with
pip install --require-hashes -r requirements.txt. - Document the expected official package index and warn against untrusted mirrors or additional indexes.
- Keep
_meta.jsonsynchronized with the actual dependencies imported by the scripts. - Periodically scan pinned dependencies for known vulnerabilities and update them through a controlled review process.
- Replace the unpinned inline installation command with a reference to the reviewed, hash-locked dependency file.
