T08 · Insecure Dependencies
- Location
SKILL.md:171- Finding
Unpinned Third-Party Dependencies Create a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 171-175
Vulnerability Type: Unpinned third-party package installation
Risk Level: MediumVulnerable Code
markdown | openpyxl | Python library | Optional | `pip install openpyxl` | 3.0+ | | msgpack | Python library | Optional | `pip install msgpack` | 1.0+ | | cbor2 | Python library | Optional | `pip install cbor2` | 5.0+ | | tomli_w | Python library | Optional | `pip install tomli_w` | 1.0+ | | strictyaml | Python library | Optional | `pip install strictyaml` | 1.7+ |Technical Analysis
The Skill directs an Agent or user to install third-party Python packages without exact version pins, integrity hashes, or a dependency lock file. The documented compatibility ranges do not constrain the actual
pip installcommands.Consequently, installation resolves to whatever package version is available from the configured package index at execution time. A compromised upstream release, package-index account, mirror, or local package-index configuration could therefore introduce code that was not present during this audit. Python package installation may execute build backends or other installation-related code, while imported packages execute with the privileges of the Agent process.
No evidence indicates that the currently named packages are malicious. The vulnerability is the uncontrolled and non-reproducible dependency acquisition process.
Attack Path
- An attacker compromises an upstream package release, maintainer account, configured package mirror, or dependency-resolution environment.
- The attacker publishes or serves a malicious version under one of the documented package names.
- An Agent follows the Skill documentation and runs the corresponding unpinned
pip installcommand. - Package installation or a later import executes attacker-controlled code.
- The code operates with the permissions and accessible environment o ...[truncated 551 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace the installation examples with a reviewed dependency manifest containing exact versions, such as:
text openpyxl==3.1.5 msgpack==1.1.0 cbor2==5.6.5 tomli_w==1.2.0 strictyaml==1.7.3 - Generate and verify cryptographic hashes using a lock tool such as
pip-tools, and install with:bash python3 -m pip install --require-hashes -r requirements.txt - Review the selected package versions and their transitive dependencies before publishing the lock file.
- Install dependencies in an isolated virtual environment or container under a non-privileged account.
- Use a trusted, explicitly configured package index and prevent unintended fallback to untrusted indexes.
- Add automated dependency vulnerability and provenance scanning to the release process.
- Replace the installation examples with a reviewed dependency manifest containing exact versions, such as:
