Back to skill

Security audit

VATlayer

Security checks for vulnerabilities and agentic risk

Overview

The skill is coherent for VATlayer access, but its setup instructions include unverified remote install scripts that could run arbitrary local code.

Before installing, review the oo CLI installer through an official, integrity-verified method instead of piping a remote script directly into a shell. Once the CLI is installed and connected, the normal VATlayer actions appear narrowly scoped and should not require raw VATlayer tokens.

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

Unverified Remote Installation Scripts Are Downloaded and Executed Directly

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 59–63
Vulnerability Type: Unverified 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 scripts from cli.oomol.com and immediately execute them through Bash or PowerShell. The Skill does not pin a script version, verify a cryptographic checksum or digital signature, save the script for inspection, or otherwise ensure that the executed content is identical to the content reviewed during this audit.

Because the payload is remotely hosted and mutable, its effective behavior can change after the Skill package has been reviewed. HTTPS protects the connection in transit but does not protect against compromise of the distribution server, domain, hosting account, deployment pipeline, or signing infrastructure. If any of those components are compromised, arbitrary commands supplied by an attacker would be executed with the privileges of the user running the installation command.

Installing the external CLI may be relevant to first-time setup, but immediate execution of an unverified remote script is not the least-privileged or least-risk method necessary to support VATlayer operations.

Attack Path

  1. The Agent attempts to use the oo CLI and receives an oo: command not found error.
  2. Following the Skill instructions, it invokes the applicable installation command.
  3. The command retrieves a mutable script from https://cli.oomol.com/install.sh or https://cli.oomol.com/install.ps1.
  4. Bash or PowerShell executes the downloaded response without prior inspection or integrity verification.
  5. If the remote endpoint or its delivery chain has been compromised, attacker-controlled commands execute under the invoking user’s accoun ...[truncated 863 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove both direct download-and-execute pipelines.
  2. Direct users to version-pinned release artifacts from the official CLI repository or a trusted package manager.
  3. Publish and verify a SHA-256 or stronger checksum for each platform-specific artifact. Prefer a digitally signed release whose signature is verified against a documented, trusted public key.
  4. Download the installer to a local file rather than piping it directly into an interpreter.
  5. Require the user to review and explicitly approve the installation before execution.
  6. Run installation with ordinary user privileges unless a specific operation demonstrably requires elevation.
  7. Pin the expected CLI version so that future upstream changes do not silently alter the reviewed behavior.
  8. For automated environments, use an internally mirrored and integrity-verified artifact rather than executing content from a mutable URL.

A safer general workflow is:

bash
# Download a version-pinned artifact without executing it.
curl -fL -o oo-installer.sh "https://trusted.example/path/to/pinned/version/install.sh"

# Verify against a checksum obtained through a trusted channel.
echo "<EXPECTED_SHA256>  oo-installer.sh" | sha256sum --check -

# Inspect and execute only after explicit user approval.
less oo-installer.sh
bash oo-installer.sh
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 a remote script piped directly into a shell, which executes network-fetched code without review or integrity verification. If the install endpoint, transport, or upstream distribution is compromised, this becomes an immediate arbitrary code execution path on the user's machine.

Content

Scanner excerpt · SKILL.md (reported line 59)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 VATlayer request and whenever a task involves VATlayer, which is an overly broad trigger condition. In agent environments, broad routing rules can cause the skill to activate on loosely related VAT/tax prompts, increasing the chance of unnecessary tool use, data exposure to the connector, or bypass of more appropriate safer handling paths.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.