T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:17- Finding
Unverified Remote Installer Piped Directly to a Shell
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 17
Vulnerability Type: Remote payload retrieval and execution
Risk Level: HighVulnerable Code
bash skvm --help >/dev/null 2>&1 || { echo "skvm not installed — tell the user to run: curl -fsSL https://skillvm.ai/install.sh | sh"; exit 1; }Technical Analysis
The Skill tells the user to download a mutable installation script from
https://skillvm.ai/install.shand pipe it directly intosh. The command provides no version pinning, cryptographic signature verification, checksum validation, or opportunity to inspect the retrieved script before execution.Consequently, the code that will execute is not represented by the reviewed project and may change after this audit. The trustworthiness and integrity controls of the external source cannot be established from the available project contents. Compromise of the hosting service, its deployment credentials, or the network resolution path could turn the recommended installation command into an arbitrary-code-execution channel.
The Skill explicitly says not to install anything automatically and only prints the command for the user. This limits automatic exploitation, but it does not eliminate the risk: the Skill still directs the user to execute an unverified remote payload. Recommending this installation method is unnecessary for operating an already-installed CLI and exceeds the minimum behavior required for the Skill's declared functionality.
Attack Path
- The
skvmexecutable is not present on the user'sPATH. - The prerequisite check fails and the Agent presents the installation command from the Skill.
- The user executes the recommended command.
curlretrieves the then-current contents ofhttps://skillvm.ai/install.sh.- The retrieved content is passed immediately to
shwithout integrity verification or review. - If the remote source or delivery path has been comprom ...[truncated 929 chars]
- The
- Remediation
View remediation
Remediation Suggestions
- Remove the
curl ... | shrecommendation from the prerequisite check. - Direct users to a version-pinned release hosted in a verifiable official repository or to a signed package distributed through a trusted package manager.
- If a shell installer is unavoidable, require a staged process:
- Download the installer to a local file.
- Pin an immutable release version and URL.
- Verify a published SHA-256 checksum and, preferably, a cryptographic signature from a separately authenticated channel.
- Allow the user to inspect the file.
- Execute it only after successful verification and explicit user approval.
- Document the files, directories, network endpoints, and permissions used by the installer.
- Explicitly warn users not to run the installer as
rootor throughsudounless a documented installation step strictly requires elevation. - Preserve the existing rule that the Agent must not install software automatically.
- Remove the
