T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:3
- Finding
- Unpinned Third-Party Dependency Installation<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 3 and 16 **Vulnerability Type**: Unpinned and unverifiable third-party dependency **Risk Level**: Medium ### Vulnerable Code ```yaml metadata: {"openclaw": {"requires": {"python": ["feedparser"]}, "install": []}} ``` ```bash pip install feedparser ``` ### Technical Analysis The skill declares and instructs users to install `feedparser` without a version constraint, lockfile, package hash, or explicit trusted package index. Consequently, the installed code is determined by mutable package-repository state at installation time rather than by the version reviewed during the audit. This is an insecure supply-chain practice. A compromised upstream release, package repository, or dependency could introduce code that executes during installation or when the module is imported. The absence of version pinning can also cause unexpected behavior due to incompatible future releases. There is no evidence that `feedparser` is currently malicious. The finding concerns the unsafe and non-reproducible installation mechanism. ### Attack Path 1. An attacker compromises the upstream package, one of its dependencies, or the package distribution channel. 2. The attacker publishes a malicious release under the expected package name. 3. A user follows the documented `pip install feedparser` instruction after the malicious release becomes current. 4. `pip` retrieves and installs the mutable release without hash verification. 5. Malicious package code can run during installation or when `feedparser` is imported by the RSS monitor. ### Impact Assessment Successful exploitation could execute arbitrary Python or installation-time code with the privileges of the user or service performing the installation. The resulting scope may include access to that account's files, environment variables, application credentials, and network permissions. The skill does not request elevated privileges, so system-wide compr ...[truncated 100 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin `feedparser` to a specific reviewed version, for example through a version constraint such as `feedparser==<reviewed-version>`. 2. Maintain a lockfile containing resolved transitive dependencies. 3. Require package hashes, such as with a hashed requirements file and `pip install --require-hashes`. 4. Explicitly use a trusted package index and prevent unintended fallback to untrusted indexes. 5. Install the dependency in an isolated virtual environment under a non-privileged account. 6. Add automated dependency vulnerability and integrity scanning. 7. Review and deliberately update the pinned version rather than automatically consuming the latest release. ]]>
