T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:24
- Finding
- Unpinned Third-Party Dependency Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 24-27 **Vulnerability Type**: Supply-chain exposure through an unpinned dependency **Risk Level**: Medium ```bash uv pip install duckduckgo-search pip install duckduckgo-search ``` ### Technical Analysis The installation instructions retrieve `duckduckgo-search` from the package index configured for pip or uv without specifying an exact version, cryptographic hash, lockfile, or trusted index. Consequently, the code installed by these commands can change after the Skill has been reviewed. If a future release, transitive dependency, package-index account, or configured package source is compromised, installation or subsequent import of the package could run attacker-controlled code. Source distributions and malicious build backends may also execute code during package building. The project contains no evidence that the named package is currently malicious. The finding concerns the unsafe and non-reproducible dependency acquisition process. ### Attack Path 1. A user or Agent follows the documented installation instructions. 2. pip or uv resolves the latest compatible package and dependencies from the configured package index. 3. An attacker compromises a future package release, a transitive dependency, or the configured package source. 4. The package manager downloads and installs the attacker-controlled artifact. 5. Malicious code executes during a source build or when the installed module is imported by the documented search commands. ### Impact Assessment Attacker-controlled package code would generally execute with the privileges of the user running pip, uv, or Python. It could access that user's files and environment variables, alter writable project or environment files, initiate network connections, and execute additional processes. If installation is performed in a privileged system environment, the impact could extend to all files and services writ ...[truncated 32 chars]
- Remediation
- ## Remediation Suggestions - Pin `duckduckgo-search` to a specifically reviewed version rather than resolving the latest release. - Maintain a lockfile that also pins all transitive dependencies. - Require cryptographic hashes for downloaded artifacts, such as with pip's hash-checking mode. - Configure an explicitly approved package index or internal artifact repository. - Prefer pre-reviewed binary wheels and carefully review any source distribution or build backend. - Separate dependency installation from normal Skill execution and avoid granting package-manager access at runtime. - Add automated dependency scanning and a controlled process for reviewing and updating pinned versions.
