T08 · Insecure Dependencies
- Location
SKILL.md:301- Finding
Unpinned Third-Party Python Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 301–305
Vulnerability Type: Unpinned runtime dependencies and unsafe supply-chain resolution
Risk Level: MediumVulnerable Code
markdown | psycopg2 | Python library | Required for PostgreSQL | `pip install psycopg2-binary` | | pymilvus | Python library | Required for Milvus | `pip install pymilvus` | | chromadb | Python library | Required for ChromaDB | `pip install chromadb` | | qdrant-client | Python library | Required for Qdrant | `pip install qdrant-client` | | numpy | Python library | Recommended | `pip install numpy` |Technical Analysis
The Skill recommends installing third-party packages without fixed versions, integrity hashes, a lockfile, or an explicitly trusted package index. Each command therefore resolves whichever package release is considered current by the configured Python package repository at installation time.
Python package installation may execute package-controlled build or installation logic. If a dependency release or configured package source is compromised, dependency resolution is redirected, or a malicious package shadows the expected package through an untrusted index, arbitrary code could execute during installation or later import. The effective installed code can consequently change after this Skill has been reviewed.
No evidence establishes that the named packages are currently malicious. The vulnerability is the absence of controls that ensure reviewed, reproducible dependency artifacts are installed.
Attack Path
- A user or Agent invokes the Skill and follows its dependency setup instructions.
- One of the documented
pip installcommands is executed without a version or artifact hash. pipresolves the dependency from the environment's configured package indexes.- An attacker who has compromised an upstream release, package repository, dependency account, or higher-priority configu ...[truncated 997 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every direct dependency to a reviewed exact version, for example
package==X.Y.Z. - Generate and maintain a lockfile containing the complete transitive dependency graph.
- Require cryptographic hashes for downloaded artifacts, such as through a hash-locked requirements file and
pip install --require-hashes. - Configure an explicitly trusted package index and prevent fallback to unreviewed or user-controlled indexes.
- Prefer prebuilt, verified artifacts from an internal mirror after vulnerability and provenance scanning.
- Install dependencies in an isolated virtual environment or container under a non-privileged account.
- Avoid exposing database credentials and API keys to the installation process unless they are strictly required.
- Add automated dependency auditing, provenance verification, and controlled update review before changing pinned versions.
- Pin every direct dependency to a reviewed exact version, for example
