T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:19
- Finding
- Unpinned Python Dependency Installation## Vulnerability Details **File Location**: `SKILL.md`, line 19 **Vulnerability Type**: Unpinned third-party dependency installation **Risk Level**: Medium ### Vulnerable Code ```bash pip install tos ``` ### Technical Analysis The skill instructs users to install the `tos` Python package without specifying an audited version, verifying package hashes, using a lockfile, or explicitly identifying a trusted package source. Consequently, the installed code may change between executions without any corresponding change to the reviewed skill. Python package installation can execute package-controlled build hooks or installation logic. If the package distribution or its publishing account is compromised, a user following this instruction could execute attacker-controlled code. The project does not include dependency metadata or a vendored implementation that would allow the installed package version and contents to be verified during this audit. This finding does not establish that the current `tos` package is malicious; it identifies an avoidable supply-chain exposure caused by installing an unpinned and unverified dependency. ### Attack Path 1. An attacker compromises the package publisher, distribution account, or another relevant dependency delivery mechanism. 2. The attacker publishes a malicious or backdoored release under the package name `tos`. 3. A user follows the documented prerequisite and runs `pip install tos`. 4. `pip` selects the attacker-controlled release because no exact version or hash is required. 5. Malicious installation hooks or imported package code execute with the privileges of the user running the command. 6. The code may access credentials, files, and network resources available in that user's environment. ### Impact Assessment Successful exploitation could provide arbitrary code execution with the privileges of the user performing the installation or subsequently invoking the package. The a ...[truncated 274 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the dependency to an exact version that has been reviewed and tested, such as `tos==X.Y.Z`. 2. Store dependencies in a version-controlled requirements or lock file. 3. Record and enforce cryptographic hashes using a command such as `pip install --require-hashes -r requirements.txt`. 4. Explicitly use the verified official package index or an organization-controlled package mirror. 5. Install the dependency in an isolated virtual environment under a non-privileged user. 6. Add a dependency update process that reviews release provenance, package contents, and security advisories before changing the pinned version.
