Back to skill

Security audit

Fly.io

Security checks for vulnerabilities and agentic risk

Overview

This Fly.io connector is coherent, but its setup instructions tell users to execute unverified remote installer scripts, so it needs Review before installation.

Install only if you trust OOMOL's oo CLI distribution path and are comfortable routing Fly.io actions through OOMOL. Prefer a verified or package-manager installation of the CLI, inspect or verify installer artifacts before running them, and require explicit confirmation for any create, start, stop, or restart action on Fly.io resources.

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:63
Finding
Unpinned Remote Installer Downloaded and Executed Directly## Vulnerability Details **File Location**: `SKILL.md`, lines 63–67 **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 first-time setup instructions download mutable scripts from an external server and immediately execute the returned content using Bash or PowerShell. The instructions do not pin an installer version, verify a cryptographic checksum or signature, or give the user an opportunity to inspect the downloaded file before execution. HTTPS authenticates and protects the transport connection under normal conditions, but it does not ensure that future content served from the URL is identical to the content reviewed during this audit. Compromise of the domain, web server, deployment process, DNS infrastructure, signing credentials, or OOMOL distribution account could therefore turn these installation commands into arbitrary code-execution channels. Installing the CLI may be necessary when it is absent, but immediate pipe-to-shell execution exceeds the minimum privileges and trust required for installation. The Skill also states that users should normally have the CLI installed already, making this behavior ancillary rather than necessary for routine Fly.io operations. ### Attack Path 1. The `oo` command is unavailable and an authentication or connection task causes setup instructions to be consulted. 2. An agent or user follows the documented macOS/Linux or Windows installation command. 3. The command retrieves the current response from `cli.oomol.com`. 4. Bash or PowerShell executes the response immediately without integrity or authenticity validation at the artifact level. 5. If the remote distribution channel has been compromised, attacker-controlled comma ...[truncated 1223 chars]
Remediation
## Remediation Suggestions 1. Remove direct `curl | bash` and `irm | iex` installation instructions. 2. Prefer a trusted operating-system package manager or an official repository that supports signed, versioned packages. 3. If direct installation is unavoidable: - Pin the download to a specific immutable CLI version. - Download the installer or binary to a local file without executing it. - Publish and verify a SHA-256 or stronger checksum obtained through a separately protected channel. - Verify a cryptographic signature from a documented, pinned publisher key. - Allow the user to inspect the downloaded artifact before execution. - Execute it only after explicit user approval. 4. Do not automatically install software in response to a failed action. Report that the CLI is missing and request confirmation before changing the local environment. 5. Run installation with ordinary user privileges and clearly document whether any step requires elevation. 6. Publish reproducible source, immutable release artifacts, release provenance, and a security policy for the CLI distribution process.
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, which executes network-fetched code without verification. If the distribution endpoint, transport, or upstream content is compromised, this can lead to arbitrary code execution on the user's machine.

Vague Triggers

Medium
Confidence
97% confidence
Finding
The description says to use this skill for ANY Fly.io request and instead of calling the API directly, which is an overly broad trigger that can cause the agent to invoke the skill in many contexts without sufficient task-specific scrutiny. Because the skill also exposes write operations, broad auto-selection increases the chance of unintended state-changing actions being routed through this capability.

Static analysis

No suspicious patterns detected.