T08 · Insecure Dependencies
Error
- Location
- SKILL.md:42
- Finding
- Unpinned Privileged Third-Party Plugin Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 42–49 **Vulnerability Type**: Unpinned third-party dependency with privileged tool access **Risk Level**: High ### Vulnerable Code ```bash openclaw plugins install clawhub:clawlink-plugin openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json openclaw gateway restart ``` ```text Then tell the user: "OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Instantly again." ``` ### Technical Analysis The Skill instructs the agent to install `clawhub:clawlink-plugin` without specifying an immutable version, package digest, or cryptographic integrity value. It subsequently adds the plugin to the tool allowlist and restarts the OpenClaw gateway, causing the installed component to be loaded into the agent environment. Because the project contains only `SKILL.md`, the implementation of the installed plugin cannot be inspected as part of this audit. The assertion that the plugin is “verified” is not enforced by the provided commands. A mutable package reference can resolve to different code after the Skill itself has been reviewed. The allowlisting and gateway restart increase the security relevance of this dependency: the plugin is not merely downloaded as passive content but enabled as a provider of credential-bearing tools. This creates a supply-chain trust boundary whose integrity is not pinned by the Skill. ### Attack Path 1. An attacker compromises the plugin publisher account, distribution infrastructure, or a future mutable release of `clawhub:clawlink-plugin`. 2. The user authorizes installation according to the Skill instructions. 3. `openclaw plugins install clawhub:clawlink-plugin` retrieves the current mutable package. 4. The package is added to `tools.alsoAllow`. 5. `openclaw gateway restart` loads the compromised package. 6. In a new session, legitimate-looking ClawLink tool call ...[truncated 812 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the plugin to an immutable, reviewed version rather than installing an unversioned package reference. 2. Require verification of a cryptographic package signature and expected publisher identity before installation. 3. Validate the package against a documented SHA-256 or equivalent integrity digest. 4. Record the reviewed plugin version and digest directly in the Skill documentation. 5. Require a new security review and explicit user approval whenever the pinned version changes. 6. Avoid automatically allowlisting and restarting the gateway until package verification succeeds. 7. Document the plugin's exact local and remote permissions before requesting installation. 8. Restrict the plugin to the minimum tool and integration capabilities required for the requested operation.
