T08 · Insecure Dependencies
- Location
SKILL.MD:27- Finding
Unverified Third-Party Release Candidate Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.MD, lines 27–30
Vulnerability Type: Third-party software supply-chain risk
Risk Level: MediumVulnerable Code
markdown ## Installation ```bash pip install owid-catalog==1.0.0rc2text ### Technical Analysis The skill directs users or agents to install and subsequently import a third-party Python package. Although the package version is pinned, it is a release candidate, and the installation command does not verify artifact hashes. The project also supplies no lockfile, transitive-dependency constraints, trusted-index configuration, provenance validation, or isolated-environment requirement. Version pinning limits direct version drift but does not verify the integrity of the selected artifact or its transitive dependencies. Python package installation may execute package build hooks, while later importing the installed package executes its initialization code. Therefore, compromise of the specified distribution, one of its dependencies, or the configured package index could result in local code execution. The audit did not establish that `owid-catalog` is malicious. This finding concerns the unsafe trust and installation model documented by the skill. ### Attack Path 1. An attacker compromises the selected package artifact, one of its transitive dependencies, or the package source used by `pip`. 2. A user or agent follows the skill's installation instruction. 3. `pip` downloads the affected component without validating project-supplied cryptographic hashes. 4. Malicious code executes during package build or installation, or when the documented `owid.catalog` module is imported. 5. The code runs with the permissions and environmental access of the invoking user or agent. ### Impact Assessment Successful exploitation could provide arbitrary code execution under the invoking account. Depending on that account's permissions and environment, an attacker could read or alter accessible fi ...[truncated 298 chars]- Remediation
View remediation
Remediation Suggestions
- Use a reviewed stable package release rather than a release candidate where practical.
- Generate a dependency lockfile that constrains all transitive dependencies.
- Record cryptographic hashes and install with hash enforcement, such as
pip install --require-hashes -r requirements.txt. - Require installation inside a dedicated, least-privileged virtual environment or container.
- Explicitly configure and document the trusted package index instead of relying on ambient
pipconfiguration. - Validate package provenance and review package metadata, source, and dependency changes before upgrading.
- Do not permit an agent to install the dependency automatically without explicit user approval.
- In higher-assurance environments, build and scan wheels internally and install only from an approved artifact repository.
