Back to skill

Security audit

SonarQube Cloud

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent read-only SonarQube Cloud connector, but its fallback setup tells users or agents to run unverified remote installer scripts directly in a shell.

Review the first-time setup before installing. Prefer installing the oo CLI from a verified, pinned, or signed source and avoid running curl-to-bash or PowerShell download-to-execute commands unless you trust the OOMOL installer path and understand it will run code on your machine. Once installed, the skill's SonarQube Cloud actions are read-oriented and use OOMOL-managed credentials server-side.

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

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 retrieve mutable scripts from remote URLs and pipe their contents directly into command interpreters. The downloaded payloads are not pinned to a specific release and are not verified using a cryptographic signature or a trusted checksum before execution.

Consequently, the effective code executed by these commands can differ from the content available when the Skill was audited. Although the URLs use HTTPS and are hosted on an OOMOL-branded domain, the repository provides no evidence that the delivered scripts are immutable or independently verified. HTTPS alone does not protect against compromise of the hosting infrastructure, publishing account, remote script, or upstream delivery process.

The Skill's declared functionality only requires invoking existing oo connector commands to read SonarQube Cloud data. Arbitrary remote shell execution is not required during normal operation and exceeds that minimum capability. The installation commands are presented as fallback setup steps rather than being executed automatically, which reduces exposure but does not eliminate the risk.

The connector commands also send user-supplied query data to the remote OOMOL/SonarQube Cloud service. That communication is consistent with the declared hosted-service functionality, and the reviewed file does not instruct the agent to collect local secrets, environment variables, or raw authentication tokens. Therefore, no separate data-exfiltration vulnerability was confirmed.

Attack Path

  1. The oo CLI is absent, causing the documented first-time setup condition ...[truncated 1334 chars]
Remediation
View remediation

Remediation Suggestions

  1. Replace direct curl | bash and irm | iex execution with a staged installation process.
  2. Pin the installer or package to a specific, immutable release rather than retrieving a mutable latest script.
  3. Download the artifact to a local file without executing it immediately.
  4. Publish and verify a cryptographic signature using a trusted release-signing key. If signatures are unavailable, publish a release-specific SHA-256 checksum through an independently protected channel and verify it before execution.
  5. Provide users an opportunity to inspect the downloaded script before running it.
  6. Prefer a reputable platform package manager or signed release package with integrity and provenance verification.
  7. Explicitly state that installation should use an unprivileged account unless elevated access is demonstrably required.
  8. Document the installer source repository, expected release version, required file changes, network destinations, and permissions.
  9. Preserve the existing behavior of attempting connector commands first, but direct failed installations to a reviewed installation guide rather than instructing an agent to execute mutable remote content automatically.
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 the agent to install software by piping a remotely fetched script directly into a shell (curl ... | bash). This creates a supply-chain and remote code execution risk: if the host, transport, installer, or distribution pipeline is compromised, arbitrary code will run immediately on the user's system without verification.

Content

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

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The description says to use this skill for "ANY SonarQube Cloud request" and "Whenever a task involves SonarQube Cloud," which is an expansive activation condition for a manifest/markdown file. It does not provide exclusions, narrower trigger phrases, or negative examples, so the invocation boundary is ambiguous and could cause unintended activation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.