T08 · Insecure Dependencies
- Location
SKILL.md:7- Finding
Unpinned Third-Party Python Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 7
Vulnerability Type: Unpinned and unhashed third-party dependency installation
Risk Level: MediumComplete Code Snippet:
yaml dependencies: "pip install python-docx"Technical Analysis
The skill declares a direct
pip installcommand forpython-docxwithout specifying an exact version, cryptographic integrity hashes, or a trusted package source. Package resolution therefore depends on mutable content supplied by the configured Python package index at installation time.Python package installation can execute package-controlled build or installation logic. If the package distribution, package-index account, configured mirror, or dependency chain is compromised, an attacker-controlled release could execute code during installation. Future releases may also introduce incompatible or vulnerable behavior without any change to this reviewed project.
The audited project contains only
SKILL.mdandLICENSE.txt; no included script usespython-docx. The dependency may therefore be unnecessary. No evidence was found that the currentpython-docxpackage is malicious, so exploitation depends on a supply-chain or package-source compromise.Attack Path
- A user or automation system installs the skill and processes its dependency declaration.
- The command
pip install python-docxqueries the installer’s configured package index or mirror. - Because no version or hash is specified,
pipresolves mutable package content available at that time. - An attacker compromises the package, its release account, a transitive dependency, or the configured package source and publishes or serves a malicious distribution.
- The installer downloads the attacker-controlled distribution.
- Package-controlled build or installation behavior executes with the privileges and network access of the process performing the installation.
Impact Asse
...[truncated 565 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove
python-docxfrom the skill metadata if it is not required; no included executable code currently uses it. - If required, pin the dependency to a specifically reviewed version, for example through a version-locked requirements file.
- Require cryptographic hashes using a command such as
pip install --require-hashes -r requirements.txt. - Record and lock transitive dependencies so their versions cannot change unexpectedly.
- Install packages only from an explicitly configured, trusted package index or an internally controlled artifact repository.
- Perform dependency installation in an isolated virtual environment or container under a non-privileged account.
- Add automated vulnerability, provenance, and integrity checks for dependency updates before changing the lock file.
- Remove
