T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:58- Finding
Unverified Remote Installer Download and Immediate Shell Execution
- Content
View full analysis
): ```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 Both installation commands retrieve mutable content from an external URL and pass the response directly to a command interpreter. The downloaded payload is executed without: - Pinning an installer version or immutable artifact. - Verifying a cryptographic signature or checksum. - Saving and reviewing the installer before execution. - Obtaining explicit approval immediately before executing the downloaded code. HTTPS protects the connection in transit but does not address compromise of the installer host, publishing account, CDN, DNS infrastructure, or release pipeline. The effective code can also change after the Skill package has been reviewed. The behavior is presented as a fallback when the `oo` command is unavailable rather than as part of ordinary CallPage operations. Executing arbitrary installer code also exceeds the declared `allowed-tools: [Bash(oo *)]` boundary: the stated capability permits `oo` commands, while the installation instructions invoke `curl`, `bash`, PowerShell `irm`, and `iex`. The documented CallPage connector necessarily sends user-requested CallPage data through OOMOL. However, the audited file contains no evidence that this intended connector traffic performs undeclared exfiltration or directly exposes raw credentials. The confirmed issue is the unverified installer execution channel. ### Attack Path 1. A user asks the agent to perform a CallPage operation. 2. The agent attempts to use `oo`, but the execut ...[truncated 1163 chars]- Remediation
View remediation
/ ``` 5. Verify the artifact against a trusted, separately published cryptographic signature or pinned SHA-256 checksum before execution. 6. Display the artifact source, version, expected checksum, requested privileges, and intended filesystem changes to the user before requesting approval. 7. Execute only the verified local artifact and avoid elevated privileges unless they are demonstrably required. 8. Keep installation outside the Skill’s routine execution flow. The Skill should normally invoke only commands covered by its declared `Bash(oo *)` permission. 9. Apply equivalent protections on Windows: download a versioned installer, validate an Authenticode signature or pinned digest, obtain explicit approval, and only then execute the local verified file. 10. If installation support must remain, document a failure-safe process that aborts on download, signature, checksum, ownership, or permission anomalies. ]]>
