Back to skill

Security audit

Semrush

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a straightforward Semrush connector, but its fallback setup tells users or agents to execute an unverified remote installer.

Review this skill before installing if you do not already trust the OOMOL CLI installer. Prefer installing oo through a verified package or pinned release, and do not let an agent run the remote installer automatically. Once oo is already installed and connected, the Semrush actions shown are limited to read-style get/list operations.

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 Downloaded and Executed Directly## Vulnerability Details **File Location**: `SKILL.md`, lines 57–62 **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 pipe remotely downloaded content directly into Bash or PowerShell. The installer is mutable external code and is executed without a pinned version, checksum verification, digital-signature validation, or an opportunity to inspect the downloaded file. HTTPS protects the connection in ordinary circumstances but does not protect against compromise of the hosting infrastructure, publishing account, domain, or installer itself. If any of these resources is compromised, the content executed by users can change after the Skill has been reviewed. Installing the CLI is not necessary for the Skill's ordinary declared operation because the document instructs users to assume the CLI is already installed. Even as an exceptional setup step, immediate execution of unverified remote code exceeds the minimum privileges required to document or invoke the Semrush connector. ### Attack Path 1. An attacker compromises the OOMOL installer hosting infrastructure, domain, deployment credentials, or remote installer. 2. The attacker replaces `install.sh` or `install.ps1` with a malicious payload. 3. The `oo` command is unavailable, causing the user or agent to follow the documented first-time setup procedure. 4. `curl` or `irm` retrieves the attacker's current payload. 5. The shell immediately executes the payload without integrity validation or review. 6. The payload performs arbitrary actions with the privileges of the user running the installation command. ### Impact Assessment Successful exploitation provides arbitrary command exe ...[truncated 565 chars]
Remediation
## Remediation Suggestions 1. Remove direct `curl | bash` and `irm | iex` execution patterns. 2. Distribute the CLI through a trusted package manager or a version-pinned release. 3. Download the installer or binary to a local file before execution. 4. Publish a cryptographic checksum or digital signature through an independently protected channel and verify it before execution. 5. Pin the expected CLI and installer version so reviewed behavior cannot change silently. 6. Require explicit user approval before installing software; do not let an agent automatically execute installation commands after an authentication or command-not-found error. 7. Run installation with ordinary user privileges unless elevated access is strictly necessary and clearly explained. 8. Prefer instructions similar to the following pattern: ```bash curl -fSLo oo-installer.sh "https://trusted.example/releases/v1.0.2/install.sh" echo "EXPECTED_SHA256 oo-installer.sh" | sha256sum --check - less oo-installer.sh bash oo-installer.sh ``` The release URL and checksum must come from trusted, authenticated sources, and signature verification is preferable where supported.
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
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 remote script directly into a shell (`curl ... | bash`), which executes unverified code from the network with the user's privileges. If the install endpoint, transport path, or upstream distribution is compromised, this becomes an immediate arbitrary code execution vector; because this appears in a fallback setup path inside the skill, it normalizes unsafe execution in a security-sensitive context.

Vague Triggers

Medium
Confidence
93% confidence
Finding
The description says to use this skill for "ANY Semrush request" and "Whenever a task involves Semrush," which is an extremely broad trigger without constraints or negative examples. For a markdown skill description, this creates ambiguous activation boundaries and increases the chance the skill is invoked when a narrower or different workflow would be more appropriate.

Static analysis

No suspicious patterns detected.