Back to skill

Security audit

DataForSEO

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly coherent for DataForSEO use, but its setup instructions include an unverified remote installer that could run arbitrary code if the installer source were compromised.

Review the setup path before installing. Prefer installing the `oo` CLI from a trusted, versioned source with checksum or signature verification, and confirm any DataForSEO write action because it may create paid tasks or change account state.

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

Unverified Remote Installer Download and Execution

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 72–81
Vulnerability Type: T03: Remote Payload Retrieval and Execution
Risk Level: High

The first-time setup instructions execute mutable remote installation scripts directly in a shell:

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

Both installation commands retrieve code from an external URL and immediately execute it without first saving it for inspection or verifying a cryptographic signature or pinned checksum. The referenced scripts are mutable, so the effective code executed by users can change after the Skill has been reviewed.

HTTPS protects data in transit under normal conditions, but it does not make the downloaded payload immutable or protect against compromise of the hosting infrastructure, publication pipeline, domain, or signing account. The curl | bash and irm | iex patterns also prevent meaningful review between retrieval and execution.

Installing the CLI is relevant only when oo is absent, but immediate execution of an unverified script is not the minimum privilege or safest mechanism necessary to perform that setup.

Attack Path

  1. The Agent attempts a DataForSEO operation and receives an oo: command not found error.
  2. It follows the documented first-time setup instructions.
  3. The shell downloads the current installer from cli.oomol.com.
  4. A compromised hosting endpoint, publication process, DNS/TLS path, or maintainer account supplies attacker-controlled script content.
  5. Bash or PowerShell executes that content immediately without integrity verification.
  6. The payload performs arbitrary actions using the privileges of the user who launched the command.

Impact Assessment

Successful exploitation provides arbitrary code execution with the invoking ...[truncated 637 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove both direct pipe-to-interpreter installation commands.
  2. Pin installation to a specific, reviewed CLI release rather than mutable generic installer URLs.
  3. Download the artifact to a local file without executing it.
  4. Verify an authenticated publisher signature or a hardcoded SHA-256 checksum obtained through an independent trusted channel.
  5. Execute or install the artifact only after successful verification.
  6. Prefer a trusted package manager that supports signed metadata and version pinning.
  7. Display the source, version, requested changes, and destination to the user, and obtain explicit approval before installation.
  8. Run installation without administrative privileges unless a specific installation step demonstrably requires elevation.
  9. Document cleanup and rollback procedures for partially completed installations.

A safer conceptual flow is:

bash
curl -fSLo oo-cli.tar.gz "https://trusted.example/releases/<pinned-version>/oo-cli.tar.gz"
echo "<trusted-sha256>  oo-cli.tar.gz" | sha256sum --check -
# Install the verified artifact only after explicit user approval.
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 by piping a remotely fetched script directly into a shell (curl ... | bash), which is a well-known supply-chain and remote-code-execution risk. If the install endpoint, transport, hosting, or upstream release process is compromised, arbitrary code would execute immediately on the user's machine with the user's privileges.

Content

Scanner excerpt · SKILL.md (reported line 75)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 DataForSEO request" and "Whenever a task involves DataForSEO," which is extremely broad and lacks scope boundaries or exclusion conditions. This can cause unintended invocation for casual mentions or tasks where direct API use or another workflow might be more appropriate.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.