T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:10
- Finding
- Unverified Remote Installer Is Piped Directly into a Shell<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 10–20 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: Critical ### Vulnerable Code ```json "openclaw": { "emoji": "📊", "requires": { "bins": ["deno"] }, "install": [ { "id": "deno-install", "kind": "shell", "command": "curl -fsSL https://deno.land/install.sh | sh", "bins": ["deno"], "label": "Install Deno (https://deno.land)", }, ], }, ``` ### Technical Analysis The installation command downloads mutable content from an external URL and immediately sends it to `sh`. There is no fixed artifact version, checksum validation, digital-signature verification, or opportunity to inspect the downloaded script before execution. HTTPS protects the transfer in transit but does not establish that all future content served from the URL will remain identical to the content reviewed during this audit. Compromise of the distribution endpoint, publisher infrastructure, DNS/TLS trust chain, or upstream installer could consequently change the effective code executed by the Skill. Installing Deno is relevant to the declared presentation-generation functionality, but executing an unverified remote script is not the minimum-privilege or minimum-risk installation mechanism. ### Attack Path 1. A user or agent installs the Skill on a system without Deno. 2. The installation framework invokes the declared shell command. 3. `curl` retrieves the current contents of `https://deno.land/install.sh`. 4. The response is passed directly to `sh` without integrity verification. 5. If the response has been maliciously altered, arbitrary shell commands execute with the privileges of the account installing the Skill. 6. Those commands can access, alter, or delete any resource available to that account and may modify shell initialization files or install additional components. ### Impact Assessment ...[truncated 563 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove the automatic `curl | sh` installation command and require Deno to be installed separately through a trusted platform package manager. 2. If automated installation is necessary: - Pin a specific Deno release and artifact URL. - Download the artifact to a file rather than piping it into a shell. - Verify a hardcoded cryptographic checksum or publisher-provided digital signature. - Abort installation if verification fails. - Execute only the verified artifact. 3. Avoid running installation as root or through `sudo`. 4. Document all files and shell configuration entries the installer may modify. 5. Prefer an installation framework that records artifact provenance and supports reproducible, integrity-checked packages. ]]>
