T08 · Insecure Dependencies
Note
- Location
- SKILL.md:37
- Finding
- Unpinned Third-Party Dependency Installation## Vulnerability Details **File Location**: `SKILL.md`, line 37 **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Low **Vulnerable code snippet**: ```bash # Dependencies: certifi (pip install certifi) ``` The same unpinned installation instruction is duplicated in `README.md`, line 9. ### Technical Analysis The installation documentation instructs users to install `certifi` without pinning a reviewed version or verifying the package artifact with a cryptographic hash. Consequently, the code installed by users can change after this skill has been audited. The package name refers to a legitimate dependency from the default Python package index, and the audit found no evidence that the project intentionally uses a malicious or misspelled package. The weakness is therefore limited to insufficient supply-chain reproducibility and integrity controls. A compromised package release, package-index account, mirror, or dependency resolution environment could cause users to install code that was not part of the reviewed project. ### Attack Path 1. An attacker compromises the package publisher, package index, configured mirror, or dependency resolution environment and makes a malicious or altered `certifi` release available. 2. A user follows the documented `pip install certifi` instruction. 3. `pip` resolves and downloads the uncontrolled current release rather than a specifically reviewed artifact. 4. Malicious package installation logic, if present, executes with the privileges of the user running `pip`. 5. The installed package may subsequently execute when `kmb_bus.py` imports `certifi`. This path depends on a separate supply-chain compromise; it is not directly exploitable solely through the skill's route or stop-name inputs. ### Impact Assessment Successful exploitation could execute code with the privileges of the account that installs or runs the dependency. Depending on those privileges, potentia ...[truncated 386 chars]
- Remediation
- ## Remediation Suggestions - Declare a specific, reviewed `certifi` version in a dependency file rather than recommending an unconstrained installation. - Use a hash-locked requirements file, for example: ```text certifi==REVIEWED_VERSION --hash=sha256:VERIFIED_DISTRIBUTION_HASH ``` - Install with hash enforcement: ```bash python3 -m pip install --require-hashes -r requirements.txt ``` - Generate and retain lock files through a controlled dependency-update process. - Review release notes and package provenance before updating the pinned version. - Keep `SKILL.md` and `README.md` synchronized so both reference the same locked installation procedure. - Avoid recommending privileged or system-wide package installation.
