Back to skill

Security audit

Product Fruits

Security checks for vulnerabilities and agentic risk

Overview

This appears to be a legitimate Product Fruits read connector, but its setup instructions include unverified remote installer commands and broad routing language that deserve review before installation.

Install only if you are comfortable with OOMOL and Product Fruits access through the oo CLI. Avoid running the one-line installer blindly; prefer a documented, versioned installer with integrity checks, and confirm any setup or authentication step before an agent performs it.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:58
Finding
Unverified Remote Installer Scripts Executed Directly by Shells<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 58–62 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```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 installation instructions download scripts from `cli.oomol.com` and immediately execute the returned content using Bash or PowerShell. They do not pin an installer version, verify a cryptographic checksum or publisher signature, or provide an opportunity to inspect the downloaded script before execution. Although HTTPS protects the connection in transit, it does not ensure that the remotely hosted payload remains unchanged after this Skill has been reviewed. Compromise of the hosting server, CDN, DNS infrastructure, TLS termination environment, or publisher account could cause arbitrary attacker-controlled code to be returned and executed. Installation of the `oo` CLI is ancillary setup rather than a Product Fruits read operation. Automatically executing a mutable remote installer therefore grants substantially more privilege than the Skill's declared read-only connector functionality requires. ### Attack Path 1. The agent attempts to invoke an `oo` connector command. 2. The command fails because the `oo` CLI is not installed. 3. The agent follows the first-time setup instructions in `SKILL.md`. 4. `curl` or `Invoke-RestMethod` retrieves the current installer from `cli.oomol.com`. 5. The response is passed directly to Bash or `Invoke-Expression`. 6. If the remote response has been compromised or maliciously changed, attacker-controlled commands execute with the privileges of the user running the agent. ### Impact Assessment Successful exploitation permits arbitrary code execution under the invoking user's account. Depending on that account's permissions and the delivered pa ...[truncated 670 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Remove direct `curl | bash` and `Invoke-RestMethod | Invoke-Expression` installation patterns. 2. Pin the CLI to a reviewed, explicit version rather than retrieving an unversioned mutable installer. 3. Download the installer or package to a local file without executing it immediately. 4. Publish an expected SHA-256 or stronger checksum through an independently protected channel and verify it before execution. 5. Verify a platform-appropriate publisher signature, such as a signed package, Authenticode signature, or Sigstore provenance. 6. Prefer an official package manager that supports signed repositories and version pinning. 7. Require the user to approve the installation explicitly rather than allowing an agent to perform it automatically after a command failure. 8. Execute installation with ordinary user privileges unless a documented component strictly requires elevation. 9. Document the files, network endpoints, and permissions used by the installer so users can evaluate its effects. 10. If a script-based installer remains necessary, use a hardened workflow similar to: ```bash curl -fSLo oo-install.sh \ https://cli.oomol.com/releases/<pinned-version>/install.sh echo "<trusted-sha256> oo-install.sh" | sha256sum --check - less oo-install.sh bash oo-install.sh ``` The checksum must be obtained from a trusted, separately authenticated release channel rather than from the same mutable installer endpoint. ]]>
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (2)

External Script Fetching

High
Category
Supply Chain
Content
- **`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
Confidence
98% confidence
Finding
The skill instructs users to install software via a remote script piped directly into a shell (`curl ... | bash`), which executes unverified code from the network immediately. If the hosting endpoint, transport path, or script contents are compromised, this can lead to arbitrary code execution on the user's machine.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The invocation guidance is overly broad: 'Use this skill for ANY Product Fruits request' and 'Whenever a task involves Product Fruits, use this skill instead of calling the API directly' can cause the agent to route any mention of Product Fruits through this skill without first checking whether the request is appropriate or whether a narrower tool should be used. Over-broad triggering increases the chance of unnecessary tool execution and expands the attack surface for prompt-injection or data-access abuse tied to incidental mentions of the service.

Static analysis

No suspicious patterns detected.