Back to skill

Security audit

Salesflare

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent Salesflare connector, but its setup instructions tell users to run an unverified remote installer directly in a shell.

Install only if you are comfortable using OOMOL as an intermediary for Salesflare actions and do not run the one-line remote installer unless you trust that source. Prefer a verified or package-manager installation method for the oo CLI, and review payloads carefully before approving any Salesflare write actions.

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:70
Finding
Unverified Remote Installer Download and Immediate Shell Execution## Vulnerability Details **File Location**: `SKILL.md`, lines 70–74 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: Critical ```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 them directly to Bash or PowerShell. Neither command pins a release, verifies a cryptographic checksum or digital signature, nor gives the user an opportunity to inspect the downloaded script before execution. HTTPS provides transport protection but does not establish that the script remains identical to the version assessed during this audit. If the hosting infrastructure, DNS resolution, publishing pipeline, or maintainer account is compromised—or if the remote script is maliciously modified—the changed payload will execute immediately. Installing the `oo` CLI may support the Skill's declared Salesflare integration, but executing an unverified remote script is not the minimum-risk method of installation. The exposure is conditional because the instructions say to use this fallback only when `oo` is unavailable, but that condition does not mitigate the integrity risk once installation occurs. The separate network behavior used by `oo connector run` is consistent with the declared connector functionality: Salesflare payloads must be sent through OOMOL to the Salesflare service. The audited file does not demonstrate unrelated data exfiltration or local credential harvesting. ### Attack Path 1. A user or Agent attempts to use the Skill on a system where the `oo` CLI is not installed. 2. The command fails with `oo: command not found`. 3. The Agent or user follows the documented first-time setup instructions. 4. An attacker has altered the installer through compromise of the hosting se ...[truncated 1217 chars]
Remediation
## Remediation Suggestions 1. Remove the direct `curl | bash` and `irm | iex` installation patterns. 2. Prefer a trusted operating-system package manager or a version-pinned installer obtained from a documented release. 3. Download the installer to a local file rather than executing the response stream immediately. 4. Publish a SHA-256 or stronger digest through an independently protected channel and verify it before execution. 5. Prefer signed release artifacts and validate the signature against a pinned, documented publisher key. 6. Display the resolved version, source URL, checksum, and requested privileges before requesting explicit user approval. 7. Run installation with ordinary user privileges whenever possible; do not use `sudo` or elevated PowerShell unless a specific installation step requires it. 8. Pin the CLI version used by the Skill and document a controlled update procedure so later remote changes cannot silently alter the reviewed payload. 9. Retain the existing conditional setup behavior so installation is not triggered when the CLI is already available.
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 via `curl ... | bash`, which executes a remote script directly without prior verification. If the distribution endpoint, transport, DNS, or upstream release process is compromised, arbitrary code could run on the user's machine with the user's privileges.

Vague Triggers

Medium
Confidence
95% confidence
Finding
This activation guidance is extremely broad and could match many ordinary CRM-related requests without clear boundaries. The file does not provide narrowing conditions or negative examples to distinguish when this skill should or should not be invoked.

Static analysis

No suspicious patterns detected.