T08 · Insecure Dependencies
- Location
SKILL.md:39- Finding
Unpinned Third-Party Package Installation Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Locations:
SKILL.md:39SKILL.md:49SKILL.md:300README.md:16
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: MediumVulnerable Code
SKILL.md:39:bash # Install pip install kameleondbSKILL.md:49:text **Note**: For production, use PostgreSQL instead of SQLite. Set `KAMELEONDB_URL="postgresql://user:pass@localhost/dbname"` and run `pip install kameleondb[postgresql]`.SKILL.md:300:bash # Install pip install kameleondbREADME.md:16:bash pip install kameleondb[postgresql]Technical Analysis
The installation instructions retrieve
kameleondband its transitive dependencies without specifying an exact audited version, lockfile, package hashes, or an explicitly trusted package index. Consequently, the code installed by these commands is mutable and may differ from the dependency version that existed when this skill was reviewed.The artifact only contains documentation and examples; it does not include the KameleonDB implementation or dependency metadata needed to audit the installed executable. A malicious or compromised package release, transitive dependency, package index, or build artifact could therefore introduce code that is not visible in this project.
Depending on the artifact selected by
pip, hostile code could execute through a source distribution's build backend during installation or when the installedkameleondbcommand is subsequently invoked.Attack Path
- An attacker compromises the
kameleondbpublication account, one of its transitive dependencies, or the package distribution channel. - The attacker publishes a malicious release under the expected package name or causes dependency resolution to select a compromised component.
- A user or agent follows the documented command:
bash pip install kameleondb
...[truncated 1262 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin KameleonDB to an exact version that has been independently reviewed:
bash python -m pip install "kameleondb==0.1.5"Apply equivalent exact pins when extras are required:
bash python -m pip install "kameleondb[postgresql]==0.1.5" -
Generate a reviewed lockfile that pins every transitive dependency, rather than pinning only the top-level package.
-
Require cryptographic hashes for all resolved distributions:
bash python -m pip install --require-hashes -r requirements.txt -
Document and enforce the trusted package index explicitly. In controlled deployments, use an internal package mirror containing only reviewed artifacts.
-
Prefer pre-reviewed wheels and disable unexpected source builds where deployment compatibility permits:
bash python -m pip install --only-binary=:all: --require-hashes -r requirements.txt -
Verify release provenance, signatures, maintainership, and package hashes before updating the pinned version.
-
Run installation and the database CLI as an unprivileged account in an isolated virtual environment or container. Restrict filesystem and network access to the minimum needed.
-
Provide database credentials through a secret manager rather than recording credential-bearing PostgreSQL URLs in documentation, logs, or agent memory.
-
