T03 · Remote Payload Retrieval and Execution
- Location
references/qmd-setup.md:35- Finding
Mutable Remote Installer Is Piped Directly into Bash
- Content
View full analysis
Vulnerability Details
File Location:
references/qmd-setup.md, lines 35–40
Vulnerability Type: Remote payload retrieval and immediate execution
Risk Level: CriticalVulnerable Code
powershell # Install WSL2 if not already installed wsl --install # Inside WSL2: curl -fsSL https://bun.sh/install | bash bun install -g @tobilu/qmdTechnical Analysis
The response from
https://bun.sh/installis passed directly to Bash without first saving, inspecting, pinning, or cryptographically verifying the downloaded content. TLS protects the connection in transit but does not establish that the returned script is immutable or that future responses match the version reviewed during this audit.The effective payload can change after publication of the Skill. Compromise of the remote service, its deployment pipeline, DNS resolution, or the applicable TLS trust chain could consequently result in arbitrary shell commands being executed.
This behavior is not necessary for the Skill's core directory-bootstrap functionality. A local knowledge repository can be created without remote code execution. Even where QMD is desired, a verified and version-pinned installation method would provide a lower-risk alternative.
Attack Path
- A user follows the documented Windows/WSL2 installation instructions.
- The remote installer endpoint or its delivery chain is compromised or begins returning modified content.
curlretrieves the modified script.- The shell executes the response immediately because it is connected directly to
bash. - The payload executes with all permissions available to the invoking user and may modify user files, shell startup configuration, installed binaries, or accessible application data.
Impact Assessment
Successful exploitation provides arbitrary code execution with the privileges of the user running the command. The payload could read or alter the OpenClaw workspa ...[truncated 211 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the
curl | bashinstallation pattern. - Pin Bun to a specifically audited release.
- Download the release artifact to a local file before execution.
- Verify a publisher signature or a SHA-256 digest obtained through an independently trusted channel.
- Permit the user to inspect the downloaded installer before running it.
- Prefer an operating-system package manager or another installation mechanism with package-signature validation.
- Run the installer as an unprivileged user and document the files and shell configuration it is expected to modify.
- Provide a QMD-free configuration using OpenClaw's built-in search when semantic search is not required.
- Remove the
