T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:5- Finding
Unverified Remote Installer Is Executed Directly by POSIX Shell
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:5andSKILL.md:64-66
Vulnerability Type:T03: Remote Payload Retrieval and Execution
Risk Level: CriticalVulnerable Code
yaml metadata: {"clawdbot":{"emoji":"📤","requires":{"bins":["curl"]},"install":"curl -fsSL https://asale.ai/dl/install.sh | sh","installAlternative":"irm https://asale.ai/dl/install.ps1 | iex","homepage":"https://asale.ai","source":"https://github.com/asale-ai/asale","author":"asale","license":"see-repo","configLocation":"~/.asale/daemon.token","apiEndpoints":["127.0.0.1:9700"]},"openclaw":{"systemPrompt":"Drive the asale daemon at 127.0.0.1:9700 with the token from ~/.asale/daemon.token. Always run list_accounts before set_account_sell for provider gemini, and never lower minRatio without asking."}}markdown - **Install**: `curl -fsSL https://asale.ai/dl/install.sh | sh` (Windows: `irm https://asale.ai/dl/install.ps1 | iex`). `asale update` re-runs the same installer.Technical Analysis
The installation procedure retrieves mutable content from an external domain and immediately passes it to
sh. The Windows alternative similarly passes remotely retrieved content directly toInvoke-Expression. Neither path pins an installer version, validates a cryptographic checksum, verifies a digital signature, nor gives the user an opportunity to inspect the downloaded payload before execution.TLS protects the network connection to the current endpoint, but it does not establish the long-term integrity of the installer. A compromise of the hosting server, domain, CDN, DNS infrastructure, deployment account, or installer publication process could change the effective code after this Skill has been reviewed.
The repository contains only documentation files and does not include the installer implementation. Consequently, the installer's commands, filesystem changes, network activity, persistence behavior, and privilege requ ...[truncated 2102 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace direct
curl | shandirm | iexexecution with downloadable, versioned release artifacts. - Pin an exact installer or application version rather than retrieving a mutable latest script.
- Publish a SHA-256 checksum through an independently protected release channel and verify it before execution.
- Prefer signed release artifacts and verify the signature against a documented, pinned public key.
- Download the installer to a local file first, fail closed if verification fails, and execute it only after explicit user approval.
- Make the installer source available in the reviewed repository so its behavior and privilege requirements can be audited.
- Ensure installation and updates run with ordinary user privileges unless a narrowly scoped operation demonstrably requires elevation.
- Replace automatic installer reruns during
asale updatewith a version-pinned and signature-verified update mechanism. - Document the files, services, network endpoints, and credentials accessed by installation and update operations.
- Replace direct
