T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:49
- Finding
- Unpinned Third-Party Package Installation Creates a Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md`, lines 49-58 **Vulnerability Type**: Unpinned and unverifiable third-party dependency installation **Risk Level**: Medium ### Vulnerable Code ```bash ### Install Wikmd ```bash pip install wikmd ``` Or via pipx (recommended): ```bash pipx install wikmd ``` ``` ### Technical Analysis The installation instructions retrieve and install the latest available version of `wikmd` and its transitive dependencies. No exact version, package hash, lock file, or other integrity control is specified. Python package installation can execute package build and installation logic with the privileges of the user running `pip` or `pipx`. Consequently, an upstream compromise, malicious replacement, dependency confusion event, or unexpectedly unsafe future release could introduce code that was not present when this skill was audited. The audit found no evidence that `wikmd` itself is malicious. The vulnerability is the absence of controls that make the installed dependency reproducible and verifiable. ### Attack Path 1. An attacker compromises the package, one of its transitive dependencies, or the relevant package-distribution account. 2. The attacker publishes a malicious release that satisfies the unconstrained installation command. 3. A user follows the skill instructions and runs `pip install wikmd` or `pipx install wikmd`. 4. The package manager downloads the attacker-controlled release. 5. Malicious build, installation, or runtime code executes in the user's environment. ### Impact Assessment Successful exploitation could execute arbitrary code with the privileges of the user performing the installation. This may permit access to that user's files, environment variables, wiki content, Git configuration, and credentials available to the process. It could also modify files or install additional user-level components. System-wide impact would depend on whether ins ...[truncated 109 chars]
- Remediation
- ## Remediation Suggestions - Pin `wikmd` to a specifically reviewed version, such as `wikmd==X.Y.Z`. - Publish a lock file containing exact transitive dependency versions. - Require package hashes using a hash-locked requirements file and `pip install --require-hashes`. - Verify the package's canonical name, publisher, source repository, and release artifacts. - Install the dependency in a dedicated virtual environment or through `pipx`, without administrative privileges. - Establish a controlled dependency-update process that reviews code and release notes before changing the pinned version.
