T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:20
- Finding
- Unpinned Third-Party Package Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 3 and 20–24 **Vulnerability Type**: Unpinned third-party dependency installation **Risk Level**: Medium The skill instructs users to install a package directly from the configured Python package index without specifying a reviewed version, cryptographic hashes, or a verified source. **Complete Code Snippet**: ```markdown description: Semantic search over local text files using embeddings. Use when grep/ripgrep fails to find relevant results because the exact wording is unknown, or when searching by meaning rather than pattern — e.g., searching logs for "deployment issue" when the actual text says "container build failed". Install with `pip install semfind`. ``` ```markdown ## Install ```bash pip install semfind ``` ``` ### Technical Analysis Running `pip install semfind` resolves and installs the package version currently selected by the configured package index, together with its transitive dependencies. The instruction does not constrain resolution to an audited version, require package hashes, identify an authoritative source repository, or provide a lock file. Python package installation may execute package-controlled build logic. Consequently, compromise of the package, one of its dependencies, or the package distribution account could turn this documented installation step into arbitrary code execution. The reviewed file does not itself contain a malicious payload; the risk arises from trusting mutable external supply-chain content. ### Attack Path 1. An attacker compromises the `semfind` distribution, its publisher account, or a transitive dependency, or causes the installer to use a malicious package index. 2. The attacker publishes a package release containing malicious installation, build, or runtime behavior. 3. A user or agent follows the documented `pip install semfind` instruction. 4. `pip` resolves the attacker-controlled release bec ...[truncated 686 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `semfind` to a specifically reviewed release rather than installing the latest available version. 2. Supply a hash-locked requirements file and install it with `pip install --require-hashes -r requirements.txt`. 3. Lock and review all transitive dependencies using an appropriate dependency-management tool. 4. Document the authoritative package index and source repository, and verify release provenance or signatures where available. 5. Recommend installation inside a dedicated virtual environment or similarly isolated environment without administrative privileges. 6. Periodically scan pinned packages for known vulnerabilities and update them through a controlled review process. 7. Avoid `sudo pip install` and explicitly warn users that installation should occur with least privilege.
