T08 · Insecure Dependencies
- Location
SKILL.md:123- Finding
Runtime Installation and Execution of an Unverified Third-Party Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 123–132
Vulnerability Type: Runtime dependency resolution without integrity verification
Risk Level: MediumVulnerable code snippet:
bash timeout 60 uv run --with python-docx==1.2.0 python3 scripts/md_to_docx.py <plan.md> <plan.docx>The related documentation states:
text - Uses `uv run --with python-docx==1.2.0` for automatic dependency management, no manual installation neededTechnical Analysis
The documented conversion workflow directs
uvto resolve and installpython-docxdynamically before executingscripts/md_to_docx.py. Pinning the package to version1.2.0limits version drift but does not establish artifact integrity.The project does not provide a reviewed lockfile, cryptographic package hashes, a vendored dependency, or an explicitly trusted package index. Dependency resolution therefore relies on mutable external package infrastructure and the runtime environment's package-index configuration. A compromised registry, mirror, transitive dependency, or local index configuration could substitute malicious package content.
The converter subsequently executes:
python from docx import DocumentImporting a substituted package can execute attacker-controlled Python initialization code with the same privileges as the conversion process.
Attack Path
- An attacker compromises a configured package registry, mirror, resolved artifact, or dependency in the resolution chain.
- The user or Agent invokes the documented
uv run --with python-docx==1.2.0command. uvretrieves and installs the externally supplied package artifacts without verification against project-controlled hashes.- Python starts
scripts/md_to_docx.pyand imports thedocxpackage. - Malicious package initialization code executes with the privileges and environment access of the invoking process.
...[truncated 492 chars]
- Remediation
View remediation
Remediation Suggestions
- Add a reviewed
uv.lockor equivalent dependency lockfile containing cryptographic artifact hashes. - Execute dependency installation in locked or frozen mode so unexpected resolution changes cause failure.
- Configure an explicitly trusted package index and prevent fallback to unapproved indexes or mirrors.
- Prefer preinstalling dependencies in a controlled, reproducible build environment rather than acquiring them during normal Skill execution.
- Where practical, vendor and review required artifacts or maintain them in an organization-controlled package repository.
- Scan direct and transitive dependencies and periodically review lockfile updates before deployment.
- Run document conversion in a sandbox with minimal filesystem, credential, and network access to reduce the impact of a supply-chain compromise.
- Add a reviewed
