T08 · Insecure Dependencies
- Location
SKILL.md:49- Finding
Unpinned External Plugin Installation Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 49–54
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable Code:
markdown **OpenClaw** — install the Sequence plugin, which brings the connection with it: ```bash openclaw plugins install clawhub:@getsequence/sequence openclaw gateway restarttext ### Technical Analysis The documented installation command retrieves an executable plugin from the external ClawHub registry without specifying an immutable version, cryptographic digest, or signature requirement. The plugin's implementation and dependency lockfiles are not included in the audited project, so its behavior and transitive dependency chain cannot be independently verified from the available artifact. Because the package reference is mutable, the code installed by a user may differ from the code that existed when this skill was reviewed. Restarting the OpenClaw gateway subsequently loads the downloaded plugin. The surrounding documentation correctly warns users to inspect requested capabilities, but capability approval does not establish the integrity of the downloaded implementation. ### Attack Path 1. An attacker compromises the plugin publisher account, registry infrastructure, release pipeline, or a dependency used by the plugin. 2. The attacker publishes a malicious version under the existing `@getsequence/sequence` package identity. 3. A user follows the documented unpinned installation command. 4. OpenClaw resolves and downloads the attacker-controlled version. 5. The user approves the requested capabilities, potentially believing the package is the expected Sequence integration. 6. The user restarts the gateway, causing the downloaded plugin to load. 7. The malicious implementation abuses its granted capabilities to access authorized financial data, send it to an attacker-controlled destination, manipulate agent behavior, or create unauthorized ...[truncated 1192 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the installation command to a specifically reviewed plugin version rather than using a mutable package reference.
- Where supported, pin the package by an immutable cryptographic digest and require signature or provenance verification before installation.
- Publish or vendor the corresponding plugin source, dependency manifest, and lockfile so reviewers can audit the exact implementation being installed.
- Document the expected publisher identity, package signature, checksum, version, and verification procedure.
- Configure the plugin with least privilege. Enable only
list*andget*tools for read-only use, and enable transfer-related tools only when explicitly required. - Avoid
--accept-capabilitiesduring interactive installation. In CI, explicitly enumerate and validate capabilities rather than approving an unrestricted or changing capability set. - Use controlled update procedures that review source changes, dependency changes, requested capabilities, and integrity metadata before deploying a new release.
- Run the plugin in a sandbox with restricted filesystem, process, environment-variable, and outbound-network access where the platform supports such isolation.
