Back to skill

Security audit

AroFlo

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent read-only AroFlo connector, but its first-time setup tells agents or users to run unverified remote installer scripts directly in a shell.

Review this skill before installing. It appears intended for read-only AroFlo access through OOMOL, but do not follow the curl | bash or irm | iex setup commands unless you independently trust and verify the installer source; prefer installing the oo CLI through a signed or checksum-verified method and keep use limited to the documented read actions.

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:61
Finding
Unverified Remote Installation Scripts Executed Directly by Shells<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 61–65 **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 mutable scripts from `cli.oomol.com` and immediately execute them with Bash or PowerShell. No version is pinned, and no cryptographic signature or checksum is validated before execution. The pipe to `bash` and the PowerShell `Invoke-Expression` alias (`iex`) also prevent meaningful inspection before the downloaded content runs. The effective code is controlled by the remote endpoint and can change after this Skill has been reviewed. If the hosting infrastructure, domain, DNS resolution, TLS trust chain, or installation pipeline is compromised, an attacker could substitute arbitrary shell commands. Installing the CLI is not required for normal AroFlo read operations when the CLI is already available. Although the instructions only recommend installation after a command-not-found failure, executing an unverified installer exceeds the minimum privileges needed to describe or invoke the connector. No evidence establishes that the current remote scripts are malicious, but the execution mechanism creates a direct supply-chain code-execution risk. ### Attack Path 1. The `oo` command is unavailable, or an attacker induces a command-not-found condition. 2. The agent or user follows the first-time setup instructions in `SKILL.md`. 3. The shell retrieves `install.sh` or `install.ps1` from the remote endpoint. 4. An attacker who has compromised the endpoint or its delivery chain returns a modified script. 5. Bash or PowerShell immediately executes the response without integrity verification or review. 6. The payload performs arbitrary actions with the pe ...[truncated 996 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Remove both direct download-and-execute patterns: - Do not pipe `curl` output directly to `bash`. - Do not pass downloaded PowerShell content directly to `iex`. 2. Require CLI installation to occur outside the Skill's automated execution flow, with explicit user approval. 3. Use a pinned, versioned release artifact from a verified official repository rather than a mutable generic installer URL. 4. Download the installer without executing it, then verify a cryptographic signature or a SHA-256 checksum published through an independent trusted channel. 5. Allow the user or administrator to inspect the downloaded artifact before execution. 6. Run installation with the least-privileged account possible. Do not request administrator or root access unless a documented installation step strictly requires it. 7. Prefer a trusted package manager with signed packages and repository metadata where available. 8. Document the exact files, directories, environment settings, and network endpoints modified by installation. A safer pattern is: ```bash curl -fL -o oo-install.sh "https://trusted.example/releases/vX.Y.Z/oo-install.sh" printf '%s %s\n' "<trusted-sha256>" "oo-install.sh" | sha256sum --check less oo-install.sh bash oo-install.sh ``` The checksum must be obtained from an authenticated, independent source and pinned to a specific release. Equivalent signature validation should be used on Windows before invoking the downloaded installer. ]]>
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
96% confidence
Finding
The skill instructs users to install software by piping a remotely fetched script directly into a shell (`curl ... | bash`). This is dangerous because it executes unverified code from the network immediately; if the server, CDN, DNS, TLS trust chain, or hosting account is compromised, an attacker can gain arbitrary code execution on the user's machine.

Vague Triggers

Medium
Confidence
97% confidence
Finding
The manifest description uses sweeping activation language like "ANY AroFlo request" and "Whenever a task involves AroFlo," which is broader than the actual capabilities listed later in the file. This can cause unintended invocation for unrelated AroFlo tasks, especially write or admin actions not covered by the available actions.

Static analysis

No suspicious patterns detected.