T08 · Insecure Dependencies
Warning
- Location
SKILL.md:17- Finding
Unpinned Third-Party Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 17–21
Vulnerability Type: Unpinned and integrity-unverified dependency installation
Risk Level: MediumVulnerable Code
markdown ## Install ```bash pip install cross-validated-searchtext ### Technical Analysis The installation instructions retrieve `cross-validated-search` from the default Python package index without specifying a version, cryptographic hash, lockfile, or other integrity constraint. Although the Skill metadata declares version `16.0.0`, the installation command does not require that release. Consequently, the package installed may differ from the version intended or reviewed by the Skill author. Python packages may contain package-controlled build logic and executable runtime components. If the package distribution account, package index, release pipeline, or an unconstrained future release is compromised, following this instruction could install attacker-controlled code. The repository contains only `SKILL.md`, so the dependency's implementation and effective runtime behavior cannot be verified within the audited project. This finding establishes an insecure supply-chain installation practice; it does not establish that the current PyPI package is malicious. ### Attack Path 1. An attacker compromises the package publisher account, release pipeline, or another component of the package distribution chain. 2. The attacker publishes a malicious release under the legitimate `cross-validated-search` package name. 3. A user follows the documented command: ```bash pip install cross-validated-search- Because no version or artifact hash is specified,
pipresolves and downloads the attacker-controlled release. - Malicious package logic may execute during installation, depending on the distribution and build path, or when the installed command-line tools are invoked.
- The payload runs with the privileges and environmental access of the user perform ...[truncated 734 chars]
- Because no version or artifact hash is specified,
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to the exact reviewed release:
bash python -m pip install "cross-validated-search==16.0.0" - Generate and publish a hash-locked requirements file, then require hash validation:
bash python -m pip install --require-hashes -r requirements.txt - Record hashes for every direct and transitive dependency to prevent silent artifact substitution.
- Verify that the pinned PyPI artifact corresponds to the source revision referenced by the project's homepage.
- Add the dependency source or a reproducibly verifiable source reference to the audit scope.
- Install in an isolated virtual environment as a non-privileged user rather than using administrator or root privileges.
- Use automated dependency monitoring and review each proposed version update before modifying the pin and approved hashes.
- Pin the dependency to the exact reviewed release:
