T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:38- Finding
Remote Installer Is Downloaded and Executed Without Integrity Verification
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 38–42
Vulnerability Type: Remote payload retrieval and execution
Risk Level: HighComplete Code Snippet:
markdown Alternative method (`curl` installer) only with explicit user approval: ```bash curl -fsSL https://openspend.ai/install | shtext ### Technical Analysis The alternative installation method pipes an HTTPS response directly into `sh`. The executed payload is not stored for inspection, pinned to a known version, or validated with a cryptographic checksum or publisher signature. Consequently, the effective code can change after the Skill itself has been reviewed. Requiring explicit user approval appropriately prevents silent installation, but approval does not establish the integrity or safety of the downloaded program. If the hosting origin, installation endpoint, DNS resolution, TLS trust chain, or publishing process is compromised, attacker-controlled shell commands would execute with the privileges of the user running the agent. This installation channel therefore exceeds the minimum safe mechanism needed to install the declared CLI; a pinned and verified artifact would provide the same functionality with less risk. ### Attack Path 1. An attacker compromises the installer endpoint, its publishing process, or another component of the delivery chain. 2. The user invokes the Skill because OpenSpend is absent or requests installation. 3. The Skill presents the alternative installation command and obtains user approval. 4. `curl` retrieves the attacker-controlled response from the mutable URL. 5. The pipeline passes the response directly to `sh` without inspection or integrity verification. 6. The malicious response executes arbitrary shell commands under the agent user's account. ### Impact Assessment Successful exploitation provides arbitrary code execution with the privileges of the invoking user. Depending on that accou ...[truncated 397 chars]- Remediation
View remediation
Remediation Suggestions
- Remove the direct
curl | shpipeline. - Prefer the documented package-manager installation route where the package source and release process have been independently validated.
- If a standalone installer is necessary, pin an exact release and download it to a local file.
- Verify a publisher signature or a checksum obtained through a trusted, independent channel before execution.
- Present the resolved version, source, verification result, and commands to the user before obtaining execution approval.
- Execute the installer with ordinary user privileges and avoid
sudounless a specific operation demonstrably requires elevation. - Consider sandboxing the installer and documenting the files, network endpoints, and configuration paths it is expected to access.
- Remove the direct
