Back to skill

Security audit

OneDesk

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent OneDesk read connector, but its first-time setup tells users to run unverified remote installer scripts directly in a shell.

Review the setup path before installing. The normal connector usage is aligned with reading OneDesk data through OOMOL, but avoid running the documented pipe-to-shell installer unless you trust OOMOL's installer endpoint and understand what local changes the oo CLI installation and login will make.

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:59
Finding
Unverified Remote Installer Download and Immediate Execution## Vulnerability Details **File Location**: `SKILL.md`, lines 59–63 **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 download mutable scripts from `cli.oomol.com` and execute them immediately using Bash or PowerShell. Neither command pins a specific installer version, verifies a cryptographic signature or checksum, nor gives the user an opportunity to inspect the downloaded content before execution. Although installing the `oo` CLI may be necessary when it is absent, executing an unverified remote response directly in a shell is not the minimum privilege or safest mechanism required to perform that installation. The effective executable payload can change after the Skill has been reviewed. The project contains no evidence that the remote installer is currently compromised; however, its integrity and behavior cannot be established from the audited package. ### Attack Path 1. An attempted OneDesk action fails because the `oo` command is unavailable. 2. The agent or user follows the documented first-time setup instructions. 3. The command retrieves the current response from `https://cli.oomol.com/install.sh` or `https://cli.oomol.com/install.ps1`. 4. Bash or PowerShell executes the response without local verification. 5. If the hosting infrastructure, publishing process, DNS/TLS path, or vendor account has been compromised, attacker-controlled commands execute with the privileges of the invoking user. 6. Those commands can access data available to that user and modify resources permitted by the current operating-system context. ### Impact Assessment Successful exploitation provides arbitrary command execution under the account that runs the installer. T ...[truncated 784 chars]
Remediation
## Remediation Suggestions 1. Remove both pipe-to-shell installation commands. 2. Direct users to a documented, official package manager or versioned release artifact. 3. Pin the CLI to an explicit release version rather than downloading a mutable installer 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, display its source and expected permissions, and require explicit user approval before running it. 6. Execute installation with ordinary user privileges whenever possible and request elevation only for a specific, documented operation that requires it. 7. Prefer a sequence such as download, signature verification, inspection, and execution rather than combining retrieval and execution in one command. 8. Document the files, directories, network endpoints, and configuration changes the installer will create so users can assess its privilege requirements.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (4)

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
95% confidence
Finding
The skill recommends installing software via 'curl ... | bash', which executes a remote script directly without prior verification or integrity checks. If the hosting endpoint, network path, or distribution channel is compromised, this can lead to arbitrary code execution on the user's machine.

Description-Behavior Mismatch

Medium
Confidence
97% confidence
Finding
The manifest advertises the skill as suitable for 'searching and reading data,' but the body instructs operators to use any OneDesk action, including potential state-changing operations. This mismatch can cause an agent or user to invoke the skill under a read-only assumption and then execute writes if the connector exposes them, creating authorization and safety-boundary confusion.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The trigger text says to use this skill for ANY OneDesk request, which is overly broad and may route unrelated or higher-risk OneDesk tasks through this skill automatically. Broad invocation criteria increase the chance of unintended execution, especially when the skill can reach external systems and potentially perform more than simple reads.

Intent-Code Divergence

Low
Confidence
79% confidence
Finding
The safety model depends on action tags like [write] or [destructive], but the listed actions have only one-line descriptions and no such tags are actually present. That makes the 'untagged actions are reads' claim unreliable and can mislead an agent into treating insufficiently documented operations as safe.

Static analysis

No suspicious patterns detected.