Back to skill

Security audit

Meituan

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a disclosed Meituan travel-query connector, but its setup instructions tell users or agents to run unverified remote installer scripts directly in a shell.

Install only if you are comfortable with OOMOL and the oo CLI. Before running the first-time setup commands, prefer an official, versioned installer or inspect and verify the downloaded script; do not run the pipe-to-shell commands from an elevated terminal. For normal use, the skill should only query Meituan travel data through your connected OOMOL account.

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:55
Finding
Unverified Remote Installation Scripts Executed Directly by the Shell<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 55–59 **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 first-time setup instructions download mutable scripts from an external server and immediately execute the returned content through `bash` or PowerShell's `Invoke-Expression`. The instructions do not pin an installer version, verify a cryptographic signature or checksum, save the script for inspection, or otherwise establish the integrity of the executed payload. HTTPS protects data in transit but does not make the remote payload immutable or protect users if the hosting service, publisher account, DNS infrastructure, TLS termination point, or release process is compromised. Because the effective executable content can change after the Skill has been reviewed, an upstream compromise could turn these documented installation commands into an arbitrary-code-execution channel. Installing software is not required for the Skill's normal Meituan query operation when the `oo` CLI is already available. Automatically following this fallback therefore grants a remote installer broader system access than the declared read-only travel-query functionality itself requires. ### Attack Path 1. A Meituan action is requested on a system where the `oo` CLI is unavailable. 2. The command fails with `oo: command not found`. 3. The Agent or user follows the first-time setup instructions in `SKILL.md`. 4. `curl` or `Invoke-RestMethod` retrieves the current installer from `cli.oomol.com`. 5. The downloaded response is passed directly to `bash` or `Invoke-Expression` without integrity verification or review. 6. If the remote installer or its delivery infrastructure has been compromised, attacker- ...[truncated 998 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Remove both pipe-to-shell installation commands from the Skill instructions. 2. Direct users to a trusted package manager or a version-pinned release artifact from the official publisher. 3. Download the installer to a local file without executing it immediately. 4. Publish and require verification of a cryptographic signature and a SHA-256 checksum obtained through an independently protected channel. 5. Allow the user to inspect the downloaded script before execution. 6. Require explicit user approval before installing software or making system-level changes; do not let an authentication or command-not-found fallback silently trigger installation. 7. Run installation with the lowest necessary privileges and explicitly warn users not to use an elevated shell unless a documented installation step strictly requires it. 8. Apply the same integrity, review, version-pinning, and consent controls to both the macOS/Linux and Windows installation paths. A safer workflow is: select a fixed release version, download its artifact, verify its publisher signature and pinned checksum, display the verified artifact and intended changes to the user, obtain explicit confirmation, and only then execute it. ]]>
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 (3)

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 by piping a remotely fetched script directly into bash, which is a classic supply-chain and remote code execution risk. If the install endpoint, transport, publisher account, or distribution pipeline is compromised, arbitrary code can run immediately on the host with the user's privileges.

Vague Triggers

Medium
Confidence
96% confidence
Finding
The description instructs the agent to use this skill for ANY Meituan-related request, which can cause overbroad routing and bypass safer, narrower tools or direct API handling policies. In an agentic environment, this increases the chance the skill is invoked in contexts it was not designed for, including tasks with different trust, privacy, or safety requirements.

Natural-Language Policy Violations

Medium
Confidence
70% confidence
Finding
The available action description states that travel information is queried "using natural language," but the skill name and provider context imply a China-specific service without documenting any user language choice or locale handling. If the skill expects or defaults to a particular language/locale, that constraint is not made optional or explicitly justified in the instructions.

Static analysis

No suspicious patterns detected.