T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:98
- Finding
- Unpinned External Plugin Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 98-105 **Vulnerability Type**: Unpinned third-party dependency installation **Risk Level**: Medium ```bash openclaw plugins install eo-collaboration ``` ### Technical Analysis The Skill directs users to install the external `eo-collaboration` plugin without specifying an immutable version, cryptographic digest, or verified source revision. Consequently, the installed plugin may differ from the version that existed when this Skill was reviewed. The external plugin's implementation is not included in the audited project, so its behavior and required permissions cannot be verified from this artifact. If the upstream package, publisher account, distribution infrastructure, or package identifier is compromised, the same documented command could retrieve a modified plugin. ### Attack Path 1. An attacker compromises the plugin publisher, distribution account, package identifier, or upstream release process. 2. The attacker publishes a malicious or backdoored version under the existing `eo-collaboration` identifier. 3. A user follows the Skill documentation and runs the unpinned installation command. 4. The installer retrieves the attacker-controlled version because no version or integrity digest is enforced. 5. When the plugin is invoked, the malicious implementation operates with the permissions granted to the OpenClaw Agent or plugin runtime. ### Impact Assessment The precise impact depends on the permissions granted to the external plugin. A compromised plugin could potentially access project files, alter generated source code, invoke available Agent tools, manipulate build or deployment artifacts, or access environment data visible to the plugin runtime. No malicious implementation is present in the audited artifact itself; this risk arises from the mutable and unaudited external dependency.
- Remediation
- ## Remediation Suggestions 1. Pin the plugin to a specific, reviewed version rather than installing the latest mutable release. 2. Verify the package with an immutable cryptographic digest or signed release metadata when supported. 3. Document the expected publisher identity, official repository, reviewed version, and checksum. 4. Review the plugin's source code and requested permissions before installation. 5. Apply least privilege by restricting filesystem, network, credential, tool, and deployment access to only what the workflow requires. 6. Use a lockfile, trusted internal registry, or vendored and reviewed dependency where practical. 7. Perform upgrades through an explicit review process instead of automatically accepting upstream changes.
