Back to skill

Security audit

FlowiseAI

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent FlowiseAI connector, but its fallback setup tells users or agents to execute a remote installer directly in a shell without verification.

Install only if you are comfortable with OOMOL mediating FlowiseAI access and avoid running the documented curl-to-bash or iex installer blindly; prefer a verified package, reviewed installer, or official installation path with checksum/signature validation.

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:56
Finding

Unverified Remote Installer Scripts Executed Directly by Shells

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 56–60
Vulnerability Type: Remote payload retrieval and execution
Risk Level: Critical

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 retrieve mutable scripts from an external server and immediately execute their contents using Bash or PowerShell. Neither command pins a release, verifies a cryptographic checksum or signature, nor saves the script for inspection before execution.

HTTPS provides transport protection but does not establish that the retrieved script is the same artifact that was reviewed. Compromise of the hosting server, publishing account, DNS or delivery infrastructure—or an unintended change to the installer—could cause arbitrary new code to execute without requiring any modification to this Skill.

Installation is presented only as a fallback when the oo CLI is unavailable. Installing the CLI may support the declared FlowiseAI integration, but executing an unverified remote response is not the minimum privilege or minimum-risk mechanism required to perform that installation.

The separate connector commands in SKILL.md transmit action payloads to the declared FlowiseAI integration through OOMOL. That network behavior is disclosed and functionally relevant, and the reviewed file contains no evidence that raw credentials are deliberately collected or sent to an unrelated endpoint.

Attack Path

  1. The oo CLI is absent, causing the first-time setup instructions to apply.
  2. A user or agent runs one of the documented installation pipelines.
  3. The command requests the current installer from cli.oomol.com.
  4. An attacker who has compromised the remote publishing or delivery path substitutes malicious script content.
  5. Bash o ...[truncated 877 chars]
Remediation
View remediation

Remediation Suggestions

  • Remove the direct curl | bash and irm | iex execution pipelines.

  • Prefer a trusted platform package manager or an official, versioned release artifact.

  • Pin the CLI to a specific reviewed version rather than retrieving a mutable latest installer.

  • Download the artifact to a local file without executing it immediately.

  • Verify a publisher signature or a cryptographic checksum obtained through an independently authenticated channel.

  • Display the source, destination, requested permissions, and intended changes before installation.

  • Require explicit user approval before executing the verified installer.

  • Run installation without administrative privileges unless a documented operation strictly requires elevation.

  • If an installer script remains necessary, use a workflow such as:

    bash
    curl -fSLo oo-install.sh "https://trusted.example/releases/vX.Y.Z/install.sh"
    echo "EXPECTED_SHA256  oo-install.sh" | sha256sum --check -
    less oo-install.sh
    bash oo-install.sh
    
  • Publish and verify signed release manifests so integrity validation does not depend solely on the same server that hosts the installer.

Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (3)

External Script Fetching

High
Category
Supply Chain
Confidence
97% confidence
Finding

The skill includes a curl ... | bash installation command that fetches and executes a remote script directly, which is a classic supply-chain and arbitrary code execution risk. In an agent skill context, this is more dangerous because the document explicitly instructs shell usage and may normalize executing setup commands without integrity verification if the CLI is missing.

Content

Scanner excerpt · SKILL.md (reported line 56)May include surrounding context.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The description says to use this skill for "ANY FlowiseAI request," including broad verbs like reading, creating, and updating data. This is an expansive activation condition without exclusions or negative examples, which could cause unintended invocation for ordinary mentions of FlowiseAI.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

Line L41 describes send_message as sending a JSON-only prediction request to a protected chatflow, which reads like an invocation/inference operation rather than a data mutation. Marking it as [write] and later stating that [write] actions change FlowiseAI state (L46) actively contradicts that description and can mislead operators about the action's true effect.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.