Back to skill

Security audit

Sage Sales Management

Security checks for vulnerabilities and agentic risk

Overview

The skill’s Sage Sales Management functions are mostly clear, but its fallback setup tells users or agents to run an unverified remote installer directly in a shell.

Install only if you trust OOMOL and are comfortable with the `oo` CLI handling Sage Sales Management actions. Avoid running the one-line remote installer automatically; prefer a separately reviewed, version-pinned, checksum- or signature-verified installation path. Review any create, update, or delete payload before approval because the skill can change CRM data.

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

Unverified Remote Installer Scripts Executed Directly from the Network

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 72–76
Vulnerability Type: Remote payload retrieval and execution
Risk Level: Critical

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 installation instructions retrieve scripts from external URLs and immediately execute their contents through Bash or PowerShell. The scripts are not pinned to an immutable version, downloaded for inspection, authenticated with a cryptographic signature, or checked against an expected digest.

TLS protects the network connection in transit but does not ensure that the remote script remains unchanged after the Skill has been reviewed. Compromise of the hosting infrastructure, DNS or certificate ecosystem, deployment process, or upstream maintainer account could therefore turn these commands into an arbitrary-code execution channel.

This behavior also exceeds the minimum runtime privileges declared by the Skill. Its declared tool access is limited to Bash(oo *), while installation executes arbitrary instructions supplied by a remote server rather than an existing oo command. Although installation is presented as a fallback for a missing CLI rather than routine behavior, that condition still provides a documented path to execute mutable external code.

The ordinary connector network traffic is necessary for the declared Sage Sales Management integration, and the audited file contains no evidence of covert credential collection or transmission to an unrelated destination. The security issue is specifically the unverified execution of installer payloads.

Attack Path

  1. The oo CLI is unavailable on the host, causing an agent or user to follow the first-time setup instructions.
  2. The command requests the current installer from cli.oomol.com.

...[truncated 1097 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove all pipe-to-shell and Invoke-Expression installation commands from the Skill instructions.
  2. Keep tool installation outside automated Skill execution and require the CLI to be installed through a separately reviewed administrative process.
  3. Prefer an official operating-system package manager or a version-pinned release artifact from a documented publisher.
  4. Pin downloads to an immutable release version rather than a mutable install.sh or install.ps1 endpoint.
  5. Publish an expected SHA-256 or stronger digest and verify it before execution. Prefer signed artifacts and validate signatures against a documented, trusted signing key.
  6. Download the installer to a local file, inspect or review it, verify its integrity, and only then execute it as a separate command.
  7. Document the exact files, directories, environment changes, network endpoints, and privileges required by installation.
  8. Run installation with the least-privileged account possible and avoid requesting administrative elevation unless a specific, documented operation requires it.
  9. Preserve the existing runtime restriction to oo commands and ensure fallback setup instructions cannot be interpreted as authorization to execute arbitrary shell content.
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 running a remote install script via curl piped directly to bash, which executes code fetched at runtime without verification. If the remote host, transport chain, or script content is compromised, this can lead to arbitrary code execution on the user's machine.

Content

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

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill description says to use this skill for ANY Sage Sales Management request and instead of calling the API directly, which creates an overly broad routing trigger. That can cause unintended invocation for loosely related requests, increasing the chance of unnecessary data access or state-changing operations being selected without sufficient narrowing by task intent.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.