Back to skill

Security audit

Semrush

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent Semrush read-only connector, but its setup instructions tell users to execute an unverified remote installer directly in a shell.

Review this carefully before installing. The Semrush data actions are read-only and reasonably scoped, but do not run the one-line installer commands unless you trust OOMOL's installer delivery path; prefer a verified, versioned, package-manager, checksum, or manually inspected install method for the `oo` CLI.

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

Unverified Remote Installer Download and Immediate Execution

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 57–61
Vulnerability Type: 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 first-time setup instructions download mutable scripts from cli.oomol.com and pass their contents directly to a command interpreter. The Unix command pipes the response into Bash, while the Windows command uses Invoke-Expression to execute the downloaded PowerShell content.

Neither command pins an installer version nor verifies a cryptographic signature or checksum. The code ultimately executed can therefore change after the Skill has been reviewed. Although installation is described as a fallback for a missing CLI, installing software through an unverified remote script exceeds the minimum privileges needed to perform the Skill's declared Semrush read operations.

Exploitation does not require modifying this repository. An attacker capable of compromising the installer host, its deployment pipeline, or another trusted delivery component could replace the installer with arbitrary code. The Skill would then direct the agent or user to execute that payload.

Attack Path

  1. The oo CLI is unavailable, causing an action to fail with oo: command not found.
  2. The agent or user follows the first-time setup instructions in SKILL.md.
  3. curl or Invoke-RestMethod retrieves the current installer from cli.oomol.com.
  4. The response is passed directly to Bash or Invoke-Expression without inspection or integrity verification.
  5. A compromised or malicious installer executes with the privileges of the invoking account.
  6. The payload can access resources available to that account and may download further components, alter local files, or es ...[truncated 712 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove direct curl | bash and Invoke-RestMethod | Invoke-Expression execution patterns.
  2. Distribute the CLI through a trusted package manager or a versioned release artifact from an authenticated official repository.
  3. Pin a specific installer or binary version rather than retrieving a mutable endpoint.
  4. Publish cryptographic checksums or signatures through an independently protected channel and verify them before execution.
  5. Download the installer to a local file, inspect or validate it, and execute it only after explicit user approval.
  6. Do not let the agent install software automatically. On a missing dependency, provide manual installation guidance and require the user to approve the exact artifact and operation.
  7. Run installation with ordinary user privileges where possible, and document any files, permissions, or services the installer creates.
  8. Prefer a hardened workflow such as:
bash
curl --fail --show-error --location \
  --output oo-installer.sh \
  https://example.invalid/releases/VERSION/install.sh

echo "EXPECTED_SHA256  oo-installer.sh" | sha256sum --check
less oo-installer.sh
bash oo-installer.sh

The release URL and checksum in the actual instructions must come from authenticated, version-specific official release metadata.

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 the CLI via a remote script piped directly into a shell (curl ... | bash), which executes network-fetched code without verification. If the install endpoint, transport, DNS, or hosting is compromised, this could lead to arbitrary code execution on the user's machine.

Content

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

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The manifest description says to use this skill for "ANY Semrush request" and "instead of calling the API directly," which is an overly broad routing trigger. This can cause the agent to invoke the skill in situations where a narrower or safer path would be more appropriate, increasing the chance of unintended command execution or unnecessary credentialed access through the connector.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.