Back to skill

Security audit

Pdfless

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent Pdfless connector, but its first-time setup tells users to execute mutable remote installer scripts directly.

Review the install step carefully before using this skill. Prefer installing the oo CLI from a pinned, signed, or checksum-verified release instead of piping a remote script directly into a shell, and only connect the Pdfless account you intend the agent to read from.

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

Unverified Remote Installer Scripts Executed Directly by the Shell

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 56-60
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 installer scripts from an external URL and immediately execute them using Bash or PowerShell. The scripts are not pinned to a specific immutable release, downloaded for inspection, or verified using a cryptographic signature or trusted checksum.

Although installing the OOMOL CLI is relevant when the required command is unavailable, direct pipe-to-shell execution is not the minimum safe mechanism needed to perform that installation. The effective code can change after the Skill has been audited. Consequently, the security of the local environment depends on the continued integrity of the remote domain, hosting infrastructure, DNS and TLS path, and publisher account.

No evidence establishes that the current remote scripts are malicious. However, this installation mechanism creates a remote code-execution channel that could deliver arbitrary code if the distribution infrastructure or installer were compromised.

Attack Path

  1. The oo command is unavailable, causing the documented first-time setup procedure to be used.
  2. An agent or user runs the supplied macOS/Linux or Windows installation command.
  3. The command retrieves a mutable script from cli.oomol.com.
  4. Bash or PowerShell executes the response without prior inspection or integrity verification.
  5. A compromised or malicious response executes with the privileges of the invoking user.
  6. The payload could access that user's files and processes, steal credentials available to the process, modify user configuration, install additional software, or ...[truncated 800 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove the direct curl | bash and irm | iex installation commands.
  2. Pin installation instructions to a specific, immutable CLI release rather than a mutable installer endpoint.
  3. Download the release artifact to a local file without executing it immediately.
  4. Publish and require verification of a cryptographic signature or SHA-256 checksum over the downloaded artifact.
  5. Use a trusted platform package manager or signed operating-system package where available.
  6. Display the resolved version, source URL, expected checksum, and intended installation destination before installation.
  7. Require explicit user approval before downloading or executing installation code.
  8. Run installation without administrative privileges unless elevation is demonstrably required, and document any files or settings the installer changes.
  9. If an installer script remains necessary, provide a reviewable versioned script from an immutable release and execute the verified local copy as a separate step.
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
97% confidence
Finding

The skill instructs users to install software via 'curl ... | bash', which executes a remote script directly without verification. If the distribution endpoint, CDN, TLS chain, or upstream script is compromised, this becomes immediate arbitrary code execution on the host running the command.

Content

Scanner excerpt · SKILL.md (reported line 56)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 Pdfless request" and "Whenever a task involves Pdfless," which is a very broad activation condition. It does not provide scope boundaries or negative examples, so ordinary mentions of Pdfless could trigger the skill even when the user did not intend to invoke it.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.