T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:55
- Finding
- Unverified Remote Installer Downloaded and Executed Directly<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 55–62 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```markdown - **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>): ```bash curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linux ``` ```powershell irm https://cli.oomol.com/install.ps1 | iex # Windows PowerShell ``` ``` ### Technical Analysis The setup instructions pipe mutable content downloaded from an external server directly into a command interpreter. Both `curl ... | bash` and `irm ... | iex` execute the response without first saving it for inspection or verifying a cryptographic signature, fixed checksum, or pinned release artifact. TLS protects the connection in transit but does not establish that the current installer is immutable or safe. The effective code executed by this Skill can therefore change after the Skill itself has been reviewed. Compromise of the hosting service, DNS infrastructure, TLS or publishing credentials, deployment pipeline, or installer source could turn these commands into an arbitrary-code execution mechanism. This behavior is not necessary for the Skill's declared read-only Dynatrace functionality. Installation should be a separate, explicitly approved administrative action and should use a verifiable artifact. ### Attack Path 1. The `oo` CLI is absent, causing a `command not found` failure. 2. The agent or user follows the documented first-time setup procedure. 3. The shell downloads the current installer from `cli.oomol.com`. 4. A compromised or maliciously modified server response supplies attacker-controlled shell or PowerShell commands. 5. The pipe sends that response directly to `bash` or `iex` without validation. 6. The payload executes with all privileges available to the user running the command. ### Impact Assessment Successful explo ...[truncated 595 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove both pipe-to-interpreter installation commands. 2. Pin installation to a specific, immutable CLI release. 3. Download the release artifact without executing it immediately. 4. Verify the artifact using a fixed SHA-256 or stronger digest obtained through a separately trusted channel, preferably together with a vendor signature. 5. Use a trusted package manager or signed platform-native installer where available. 6. Display the artifact source, version, digest, destination, and expected privilege level before installation. 7. Require explicit user approval before performing installation; do not let an agent install software automatically after a command failure. 8. Run installation with ordinary user privileges unless elevation is demonstrably required. 9. Document how to inspect and remove the installed files. A safer Unix workflow would download a version-pinned artifact, verify its signature or fixed checksum, and only then run the verified local file after approval. The PowerShell workflow should follow the same separation between download, verification, and execution. ]]>
