T08 · Insecure Dependencies
- Location
SKILL.md:17- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 17–20; related installation guidance at lines 41 and 628
Vulnerability Type: Unpinned dependency installation
Risk Level: MediumVulnerable Code Snippet:
yaml install: - kind: uv package: pymilvus bins: []The file also recommends the following unpinned command:
bash pip install pymilvusTechnical Analysis
The skill declares and recommends installation of
pymilvuswithout specifying an exact reviewed version, integrity hash, or lockfile. As a result, the package artifact installed at deployment time can differ from the artifact that existed when the skill was audited.This creates a supply-chain risk because package installation may execute package-controlled build or installation logic with the permissions of the user or Agent environment. The audit did not find evidence that
pymilvusitself is malicious; the vulnerability is the absence of version and integrity controls around a dependency obtained from an external package repository.Attack Path
- A user installs or invokes the skill in an environment where
pymilvusis not already available. - The installer resolves the unconstrained package name against the configured Python package repository.
- A future compromised, malicious, or unexpectedly incompatible release is selected automatically.
- The package is downloaded and its installation or build logic runs locally.
- Malicious package logic could access data and resources available to the installing process.
This path depends on compromise of the package, package repository, repository configuration, or dependency-resolution process.
Impact Assessment
A compromised dependency could execute code with the permissions of the Agent or user performing installation. Depending on the host configuration, this may permit access to local files, environment variables, database credent ...[truncated 200 chars]
- A user installs or invokes the skill in an environment where
- Remediation
View remediation
Remediation Suggestions
- Pin
pymilvusto an explicitly reviewed version rather than resolving the latest available release. - Use a lockfile or requirements file containing cryptographic hashes, such as pip's
--require-hashesworkflow. - Restrict installation to the official, explicitly configured package index and prevent unintended fallback to untrusted indexes.
- Review dependency updates before changing the pinned version and use automated vulnerability and provenance scanning.
- Install dependencies in a dedicated virtual environment with minimal filesystem and network privileges.
- Replace the generic command with a version-constrained example, such as
python3 -m pip install --require-hashes -r requirements.txt.
- Pin
