T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:21
- Finding
- Installation and Execution of an Unpinned Remote Plugin<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, line 21 **Vulnerability Type**: Remote payload retrieval from a mutable GitHub repository **Risk Level**: High ### Vulnerable Code ```bash openclaw plugins install https://github.com/PayPerQ/ppq-private-mode-proxy ``` ### Technical Analysis The Skill instructs OpenClaw to install a plugin directly from a remote GitHub repository without pinning it to a reviewed commit hash or immutable release artifact. It also provides no checksum or digital-signature verification. Consequently, the code executed during installation can differ from the code that existed when the Skill was audited. A compromise of the repository, maintainer account, release workflow, or relevant delivery infrastructure could replace the legitimate plugin with arbitrary code. This is best classified as remote payload retrieval and execution because the effective executable payload is obtained from an external, mutable location when the Skill is invoked. ### Attack Path 1. An attacker compromises the upstream repository, a maintainer account, or its release process. 2. The attacker modifies the plugin to include malicious installation or runtime behavior. 3. A user follows the Skill and executes the unpinned installation command. 4. OpenClaw retrieves and installs the attacker-controlled version. 5. The plugin executes in the OpenClaw gateway context. 6. The malicious plugin can access resources available to that process, potentially including OpenClaw configuration, the PPQ API key, user-readable files, network access, and model traffic. ### Impact Assessment Successful exploitation can result in arbitrary code execution with the privileges of the user running OpenClaw. The affected scope can include: - Theft of the configured PPQ API key. - Access to user-readable files and OpenClaw configuration. - Interception or modification of prompts and model responses. - Unauthorized outbound network communication. - Modification ...[truncated 278 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the plugin to a specific, audited commit hash or immutable signed release rather than installing from the repository's mutable default branch. 2. Publish and verify a cryptographic checksum, such as SHA-256, for the exact installation artifact. 3. Require verification of a trusted maintainer signature before installation. 4. Review the plugin's installation hooks and runtime code at the pinned revision. 5. Prefer a trusted package registry that supports immutable versions, provenance attestations, and integrity metadata. 6. Run the plugin with least privilege and restrict filesystem, secret, and network access where OpenClaw supports sandboxing. 7. Document a controlled upgrade process requiring security review before changing the pinned version. ]]>
