T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:8
- Finding
- Unpinned Third-Party Dependency Installation## Vulnerability Details **File Location**: `SKILL.md`, line 8 **Vulnerability Type**: Unpinned third-party dependency / supply-chain risk **Risk Level**: Medium **Complete Code Snippet**: ```yaml metadata: { "openclaw": { "emoji": "🧬", "requires": { "bins": ["python3"], "install": ["uv pip install biopython"] } } } ``` ### Technical Analysis The skill installs `biopython` without specifying an audited version, lockfile, package hash, or explicitly trusted package index. Consequently, installation may resolve to a package release that differs from the one reviewed. Python packages can execute installation-time or runtime code. In this project, `monitor.py` imports `Bio.Entrez`, so installed package code is loaded into the Python process. If the upstream package, distribution infrastructure, configured package index, or dependency chain is compromised, an attacker-controlled release could execute with the permissions of the user running the skill. This finding concerns mutable dependency resolution. The audit found no evidence that the current `biopython` package is malicious. ### Attack Path 1. An attacker compromises the package publication account, package index, distribution channel, or a transitive dependency used during resolution. 2. The attacker publishes or serves a malicious package release that satisfies the unrestricted `biopython` requirement. 3. Skill setup runs `uv pip install biopython`. 4. The installer resolves and installs the attacker-controlled or compromised release. 5. Malicious code executes during installation or when `monitor.py` imports `Bio.Entrez`. 6. The payload operates with the privileges and accessible resources of the account running the skill. ### Impact Assessment Successful exploitation could permit arbitrary code execution under the invoking user's account. Depending on that account's privileges and environment, the payload could read or modify accessibl ...[truncated 382 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `biopython` to a specifically reviewed version rather than resolving the latest available release: ```yaml "install": ["uv pip install biopython==<reviewed-version>"] ``` 2. Maintain a lockfile that records exact direct and transitive dependency versions. 3. Require cryptographic hash verification for downloaded distributions. 4. Configure installation to use an explicitly trusted package index and disable unintended fallback indexes. 5. Periodically audit pinned versions and update them through a controlled review process. 6. Perform installation and execution in a least-privileged, isolated environment without unnecessary credentials or filesystem access.
