T08 · Insecure Dependencies
Warning
- Location
- references/distribution.md:19
- Finding
- Unpinned Third-Party Plugin Installation Creates a Supply-Chain Execution Risk## Vulnerability Details **File Location**: `references/distribution.md:19-32` **Vulnerability Type**: Unpinned executable third-party dependency **Risk Level**: Medium ### Vulnerable Code ```markdown Plugin: - `openclaw plugins install @membox-cloud/membox` Skill: - preferred published path: `clawhub install membox-cloud-sync` Published default: ```bash openclaw plugins install @membox-cloud/membox clawhub install membox-cloud-sync ``` ``` The same unversioned plugin installation requirement is reinforced in `SKILL.md`, which directs the agent to install `@membox-cloud/membox` whenever the Membox tools are unavailable. ### Technical Analysis The installation command does not specify a fixed package version, integrity hash, signature, or immutable artifact reference. It therefore resolves whatever package release the registry considers current at installation time. The plugin is executable code and is not included in this project. Consequently, its implementation—including its claimed encryption, credential storage, file access, and network behavior—could not be examined during this audit. If the npm publisher account, registry resolution process, or a future package release is compromised, reviewed Skill instructions could install a different payload without any change to this repository. Because the plugin is intended to process memory files and authentication material, a malicious release would be placed directly in a sensitive trust boundary. ### Attack Path 1. An attacker compromises the npm publisher account, release pipeline, or another component involved in resolving `@membox-cloud/membox`. 2. The attacker publishes a malicious release under the expected package name. 3. A user requests Membox installation, synchronization, or restoration. 4. The agent runs the unversioned `openclaw plugins install @membox-cloud/membox` command. 5. The package manager resolves and installs the attacker-con ...[truncated 936 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the plugin to a specifically reviewed version, for example: ```bash openclaw plugins install @membox-cloud/membox@REVIEWED_VERSION ``` 2. Verify the package using a documented integrity digest, registry signature, provenance attestation, or signed release manifest before loading it. 3. Explicitly identify the trusted registry and prevent fallback to untrusted or user-controlled registries. 4. Review plugin updates before changing the pinned version instead of automatically installing the latest release. 5. Disable package lifecycle scripts during installation where supported, unless a reviewed lifecycle script is strictly required. 6. Run the plugin with least privilege, restricting file access to the declared memory and private state paths. 7. Restrict outbound network access to the configured Membox API endpoint where the runtime supports network isolation. 8. Publish the plugin source and reproducible-build information so the installed artifact can be compared with reviewed source code.
