T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:13
- Finding
- Unpinned Third-Party Dependencies Create Supply-Chain Risk<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:13` **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium ### Vulnerable Code ```bash pip install opencv-python-headless numpy Pillow ``` ### Technical Analysis The documented installation command retrieves mutable package versions from the configured Python package index without version constraints or integrity hashes. Consequently, installations performed at different times may receive different and unreviewed code. This does not prove that any listed dependency is currently malicious. However, it creates a supply-chain exposure: a compromised upstream release, package index, dependency account, or network/package-source configuration could cause attacker-controlled package code to be installed. Python packages may execute code during installation or later when imported by the Skill. ### Attack Path 1. An attacker compromises an upstream package release, maintainer account, package index, or package distribution path. 2. The attacker publishes a malicious version under one of the requested package names. 3. A user follows the setup instructions and runs the unpinned `pip install` command. 4. `pip` resolves and installs the attacker-controlled release. 5. Malicious package code executes during installation or when the Skill imports the dependency. ### Impact Assessment Successful exploitation could run code with the privileges of the user installing or invoking the Skill. Depending on those privileges, an attacker could access user files, credentials, environment variables, network resources, and writable application state. The potential scope is the Python environment and all resources available to its operating-system account. ]]>
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin every direct dependency to a reviewed version in a lock file or requirements file. 2. Pin transitive dependencies where practical. 3. Record cryptographic hashes and install with `pip --require-hashes`. 4. Install dependencies from a trusted, explicitly configured package index. 5. Regularly scan the locked dependency set for known vulnerabilities. 6. Test and review dependency upgrades before changing the lock file. Example hardened installation workflow: ```bash python3 -m pip install --require-hashes -r requirements.txt ``` ]]>
