T08 · Insecure Dependencies
- Location
SKILL.md:473- Finding
Unpinned Third-Party Python Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 473
Vulnerability Type: Unpinned third-party package installation
Risk Level: MediumVulnerable Code Snippet:
markdown | PyMuPDF | Python package | Optional | `pip install pymupdf` (PDF export) |Technical Analysis
The skill recommends installing
pymupdffrom the package index without specifying an audited version, validating cryptographic hashes, using a lockfile, or restricting the package source. Consequently, the artifact installed when the command is run may differ from the artifact available when the skill was audited.Python package installation may execute package-controlled build or installation logic. If the package publisher, distribution infrastructure, configured package index, or dependency chain is compromised, malicious code could execute with the privileges of the user running the agent.
This is an optional dependency associated with PDF export. The audited file does not specify a malicious source or demonstrate deliberate payload delivery.
Attack Path
- A user requests functionality that requires PDF export.
- The agent determines that the optional Python dependency is needed.
- Following
SKILL.md, the agent runspip install pymupdf. - Pip resolves and downloads the current package from its configured index without checking an expected version or hash.
- A compromised or substituted package executes malicious installation logic or installs malicious runtime code.
- That code executes under the account and environment used to run pip or the subsequent PDF-export workflow.
Impact Assessment
Successful exploitation could execute arbitrary code with the privileges of the user running the installation. Within those privileges, an attacker could read or alter accessible research documents, modify user-owned files, access environment data, or perform network operations.
The impact is generally limited to the installing user's permissio ...[truncated 199 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a specifically reviewed version rather than installing the latest available release:
text pymupdf==<reviewed-version> - Store the dependency in a lockfile or requirements file containing cryptographic hashes, and install it using hash enforcement:
bash python -m pip install --require-hashes -r requirements.txt - Generate and verify hashes from trusted artifacts before publishing the skill.
- Restrict installation to an explicitly trusted package index and prevent unintended fallback to untrusted indexes.
- Install the package in a dedicated virtual environment or other sandbox with minimal filesystem and network permissions.
- Document that installation must not be performed with administrator or root privileges.
- Periodically review the pinned package and its transitive dependencies for known vulnerabilities before updating the lockfile.
- Pin the dependency to a specifically reviewed version rather than installing the latest available release:
