T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:64- Finding
Unverified Remote Installer Download and Immediate Shell Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 64–68
Vulnerability Type: Remote payload retrieval and execution
Risk Level: CriticalVulnerable Code
bash curl -fsSL https://cli.oomol.com/install.sh | bash # macOS / Linuxpowershell irm https://cli.oomol.com/install.ps1 | iex # Windows PowerShellTechnical Analysis
The installation instructions download mutable content from an external server and pass it directly to a command interpreter. The Bash command pipes the HTTP response into
bash, while the PowerShell command passes it toInvoke-Expression.Neither command pins an installer version, verifies a cryptographic signature or checksum, nor provides an opportunity to inspect the downloaded artifact before execution. HTTPS protects the connection in transit but does not guarantee that the hosted payload remains unchanged or benign. Compromise of the domain, hosting infrastructure, release process, or publisher account could therefore turn these documented installation commands into an arbitrary-code execution channel after the Skill has already been reviewed.
This behavior exceeds the minimum privileges required to document or invoke the HR Partner connector. Installing a required CLI may be legitimate, but immediate execution of an unverified remote response is not necessary. The risk is partially constrained by the declared
Bash(oo *)tool allowlist if that restriction is correctly enforced; however, the commands remain unsafe instructions for users or environments that execute them outside that allowlist.Attack Path
- The
ooCLI is absent, causing anoo: command not founderror. - An agent operator or user follows the documented first-time setup procedure.
- An attacker compromises the installer host, its publishing process, DNS resolution, or another trusted delivery component.
- The external endpoint returns attacker-controlled shell o ...[truncated 1064 chars]
- The
- Remediation
View remediation
Remediation Suggestions
- Remove all
curl | bashandInvoke-Expressioninstallation patterns. - Pin installation instructions to a specific, reviewed CLI release rather than a mutable installer endpoint.
- Download the artifact to a local file without executing it:
- Use
curl --proto '=https' --tlsv1.2 --location --output installer.sh URLon Unix-like systems. - Use
Invoke-WebRequest -OutFile installer.ps1 URLon Windows.
- Use
- Publish and require verification of a SHA-256 or stronger digest obtained through an independently protected release channel.
- Prefer cryptographic release signatures and verify them against a documented, pinned publisher key.
- Instruct users to inspect the downloaded installer before executing it.
- Prefer a trusted operating-system package manager with repository signing and explicit version pinning.
- Keep installation outside automated Skill execution. The Skill should report that the dependency is missing and direct the user to reviewed installation documentation.
- Continue enforcing the
Bash(oo *)allowlist so that the Skill cannot invoke download tools or arbitrary shells. - Apply least privilege during installation and explicitly warn users not to execute the installer as root or administrator unless a documented component strictly requires it.
- Remove all
