T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:151
- Finding
- Unpinned Third-Party Python Dependencies## Vulnerability Details **File Location**: `SKILL.md`, lines 151–155 **Vulnerability Type**: Unpinned third-party dependencies and insufficient supply-chain integrity controls **Risk Level**: Medium **Vulnerable Code**: ```bash pip install pyyaml toml ``` ### Technical Analysis The documented installation command retrieves `pyyaml` and `toml` without version constraints, package hashes, or a lock file. Consequently, the installed artifacts depend on whichever releases and package index are available when the command runs. This prevents reproducible installation and does not provide integrity verification beyond pip's default transport and index controls. Python package installation may execute attacker-controlled build or installation logic. If an upstream project, release process, package-index account, or configured package index is compromised, following this instruction could install and execute a malicious package version. The project contains no evidence that such a compromise has occurred; this finding concerns the avoidable exposure created by the installation guidance. ### Attack Path 1. An attacker compromises an upstream dependency release, its publishing credentials, or a package index trusted by the user's pip configuration. 2. The attacker publishes a malicious release of a referenced dependency. 3. A user follows the Skill's unpinned `pip install pyyaml toml` instruction. 4. Pip resolves and downloads the attacker-controlled release. 5. Malicious build or installation logic executes with the privileges of the user running pip. 6. The installed package may execute additional malicious behavior when imported by the conversion examples. ### Impact Assessment Successful exploitation could provide arbitrary code execution with the privileges of the user or automation account performing the installation. Depending on that account's access, the attacker could read or modify accessible project files, configu ...[truncated 208 chars]
- Remediation
- ## Remediation Suggestions - Pin each dependency to a reviewed exact version rather than resolving the latest available release. - Store dependency constraints in a version-controlled requirements or lock file. - Generate and verify cryptographic hashes, then install with a command such as `pip install --require-hashes -r requirements.txt`. - Explicitly use an approved package index and prevent untrusted extra indexes from taking precedence. - Periodically review and update pinned versions after vulnerability and provenance checks. - Prefer installation inside an isolated virtual environment or restricted build environment using a non-privileged account. - Where supported, verify package provenance and retain a vetted internal package mirror for CI/CD use.
