Back to skill

Security audit

Veriphone

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a normal Veriphone connector, but its setup instructions tell users to run unverified remote installer scripts directly in a shell.

Install only if you are comfortable using OOMOL's oo CLI for Veriphone. Before running the setup commands, prefer downloading the installer from the official source, inspecting it, and verifying any available signature or checksum instead of piping it directly into Bash or PowerShell.

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

Unverified Remote Installation Scripts Executed Directly by Shell Interpreters

Content
View full analysis

Vulnerability Details

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

Vulnerable Code

markdown
- **`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
irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell
text

### Technical Analysis

The installation instructions retrieve mutable scripts from `cli.oomol.com` and pass their contents directly to Bash or PowerShell. Neither command gives the user or Agent an opportunity to inspect the downloaded payload before execution.

The Skill does not pin a CLI or installer version, verify a cryptographic signature, validate a checksum, or include an auditable copy of either installer. Consequently, the effective code executed by these instructions may change after the Skill has been reviewed. HTTPS protects data in transit but does not protect against a compromised distribution server, compromised publishing credentials, domain or DNS takeover, or a malicious future replacement of the installer.

The remote script executes with all privileges available to the shell that launches it. Installing the CLI may be relevant when it is absent, but immediate execution of an unverified remote payload exceeds the minimum safe mechanism necessary to provide installation guidance.

### Attack Path

1. The Agent attempts to use the Skill on a system where the `oo` command is unavailable.
2. The command fails with `oo: command not found`, activating the documented first-time setup path.
3. The Agent or user runs the applicable installation command.
4. `curl` or PowerShell's `Invoke-RestMethod` downloads the current installer from the remote server.
5. The downloaded response is immediately interpreted by Bash or `Invoke-Expression`.
6. If the server, 
...[truncated 1149 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove both pipe-to-shell installation commands from the Skill instructions.
  2. Direct users to a trusted package manager or a versioned official release instead of an unversioned installer endpoint.
  3. Pin the exact CLI version required by the Skill.
  4. Download the release artifact to disk without executing it immediately.
  5. Publish a SHA-256 digest and a cryptographic signature through an independently protected channel.
  6. Verify both the checksum and signature before installation; abort on any verification failure.
  7. Allow the user to inspect the downloaded installer before explicitly approving execution.
  8. Avoid administrative or root execution unless a documented installation step strictly requires it.
  9. Prefer a platform-specific package format with signature validation and an auditable manifest.
  10. Document the files, permissions, network destinations, and configuration changes made during installation.

A safer Unix-like workflow would follow this pattern:

bash
curl -fL -o oo-cli.tar.gz "https://trusted.example/releases/vX.Y.Z/oo-cli.tar.gz"
echo "<PINNED_SHA256>  oo-cli.tar.gz" | sha256sum --check -
# Verify a publisher signature and inspect the package before installing it.

The equivalent Windows process should use a versioned artifact, validate its Authenticode or detached publisher signature and pinned digest, and avoid Invoke-Expression.

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
Confidence
98% confidence
Finding

The skill instructs users to install software via curl ... | bash, which executes a remote script directly from the network without prior inspection or integrity verification. If the install endpoint, transport, or hosting environment is compromised, this can lead to arbitrary code execution on the user's machine.

Content

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

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The description says to use this skill for "ANY Veriphone request" and "Whenever a task involves Veriphone," which is an extremely broad activation condition. It does not define boundaries, exclusions, or examples of when the skill should not be invoked, increasing the risk of accidental activation from general discussion of Veriphone.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.