T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:15
- Finding
- Unverified Remote Installer Piped Directly into a Shell<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:15` **Vulnerability Type**: Remote payload retrieval and immediate execution **Risk Level**: High ### Vulnerable Code ```json "command": "curl -fsSL https://deno.land/install.sh | sh", ``` ### Technical Analysis The installation command downloads a mutable script from an external URL and immediately sends its contents to `sh`. The script is neither pinned to a specific immutable version nor verified using a cryptographic checksum or signature before execution. HTTPS authenticates the network endpoint, but it does not guarantee that the returned installer will remain unchanged or uncompromised. The effective code executed during installation can therefore differ from the code reviewed during this audit. Although the URL belongs to the official Deno domain, direct `curl | sh` execution creates a remote code-execution channel. This behavior is unnecessary when Deno is already installed and exceeds the minimum privileges required merely to generate a PowerPoint file. ### Attack Path 1. A user or automation platform installs the Skill on a host where Deno is unavailable. 2. The installation framework invokes the shell command from `SKILL.md`. 3. `curl` retrieves the current response from `https://deno.land/install.sh`. 4. The response is passed directly to `sh` without local review, version pinning, checksum verification, or signature validation. 5. If the upstream site, CDN, delivery path, or installer is compromised, attacker-controlled shell commands execute with the privileges of the user installing the Skill. ### Impact Assessment A malicious installer response could execute arbitrary commands with the invoking user's privileges. Depending on those privileges and local system controls, this could allow: - Reading, modifying, or deleting user-accessible files. - Installing additional executables or malicious dependencies. - Accessing credentials and configuration available to the invokin ...[truncated 312 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove automatic `curl | sh` installation and require Deno to be installed separately through a trusted package manager. 2. If automated installation is essential, download a versioned release artifact to a local file rather than piping it directly into a shell. 3. Pin the installer or release artifact to an explicit Deno version. 4. Verify the downloaded artifact against an independently published SHA-256 checksum or cryptographic signature before execution. 5. Present the installation action to the user for explicit approval. 6. Run installation with the lowest-privileged account possible and never request administrative privileges unless strictly required. 7. Skip installation entirely when a compatible Deno binary is already available. 8. Document the expected filesystem changes so users can review the installation's scope. ]]>
