T08 · Insecure Dependencies
- Location
SKILL.md:14- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:14;references/integration.md:87-92
Vulnerability Type: Unpinned and integrity-unverified package installation
Risk Level: MediumVulnerable Code
SKILL.md:14:markdown Copy `scripts/code_chunker.py` and `scripts/code_index.py` into your project. They have no dependencies beyond `chromadb` (install with `pip install chromadb`).references/integration.md:87-92:markdown ## ChromaDB dependency ```bash pip install chromadb # or in a venv: .venv/bin/pip install chromadbtext ### Technical Analysis The installation instructions request `chromadb` without specifying an audited version, cryptographic hashes, a lockfile, or a trusted package index. Package resolution is therefore mutable: the installed package and its transitive dependencies may differ between installations or change after this Skill has been audited. The dependency is imported at runtime in `scripts/code_index.py:30`. Consequently, code supplied by the resolved package can execute with the privileges of the user running the indexer. Although no malicious behavior was identified in the Skill's own scripts, the documented installation process does not protect users against a compromised upstream release, compromised transitive dependency, unsafe future release, or package-index substitution. ### Attack Path 1. An attacker compromises the `chromadb` distribution, one of its transitive dependencies, or the package index used by the victim. 2. The victim follows the documented `pip install chromadb` command. 3. Pip resolves the attacker-controlled or unexpectedly changed package because no version or integrity constraints are enforced. 4. Malicious package code executes during installation or when `chromadb` is imported by `scripts/code_index.py`. 5. The malicious code operates with the installing or indexing user's privileges and may access the repository being ...[truncated 507 chars]- Remediation
View remediation
Remediation Suggestions
- Pin
chromadbto a specifically reviewed version, for examplechromadb==<reviewed-version>. - Place direct and transitive dependencies in a lockfile or requirements file containing cryptographic hashes.
- Install with hash verification, such as
pip install --require-hashes -r requirements.txt. - Configure pip to use an explicitly trusted package index and disable unintended fallback indexes.
- Perform installation and execution in an isolated virtual environment under a non-privileged account.
- Add automated dependency vulnerability and provenance scanning to the release process.
- Periodically review and deliberately update pinned versions rather than allowing implicit upgrades.
- Pin
