T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:29
- Finding
- Unpinned Third-Party Package Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 29-42 **Vulnerability Type**: Unpinned and unverified third-party dependency installation **Risk Level**: Medium ### Vulnerable Code ```bash # 1. pipx (preferred — isolated, bdc lands in PATH) pipx install bruce-doc-converter # 2. uv (if available — fast, isolated, bdc lands in PATH) uv tool install bruce-doc-converter # 3. pip --user (most universally available, bdc lands in PATH) pip install --user bruce-doc-converter # or: python3 -m pip install --user bruce-doc-converter # 4. venv fallback (works everywhere, but bdc will NOT be in PATH) python3 -m venv .venv .venv/bin/pip install bruce-doc-converter # Windows: .venv\Scripts\pip install bruce-doc-converter ``` ### Technical Analysis Every documented installation method retrieves `bruce-doc-converter` without specifying an exact version, package hash, lockfile, or trusted package-index configuration. Consequently, the effective code installed and executed can change after this skill has been reviewed. Isolation through `pipx`, `uv`, or a virtual environment limits dependency conflicts but does not establish dependency integrity. The `pip --user` alternative also installs executable code into the user's environment rather than an environment dedicated to the project. Because the project only contains `SKILL.md`, the implementation and transitive dependencies of the converter cannot be audited from the supplied artifact. This is a supply-chain weakness rather than evidence that the current external package is malicious. ### Attack Path 1. An attacker compromises the package publisher account, package repository, release process, or a transitive dependency. 2. The attacker publishes a malicious package version under the expected package name. 3. The agent follows the skill and installs the latest available version because no version or hash is pinned. 4. Malicious installation hooks or run ...[truncated 704 chars]
- Remediation
- ## Remediation Suggestions - Pin `bruce-doc-converter` to a specific reviewed version in every installation command. - Require package hashes through a hash-locked requirements file or equivalent integrity mechanism. - Use an explicitly configured and trusted package index. - Review and pin all transitive dependencies using a lockfile. - Prefer a dedicated virtual environment or container over `pip install --user`. - Perform installation only after explicit user approval when network access or third-party code retrieval is required. - Periodically review and deliberately update pinned dependencies rather than automatically installing the latest release.
