Back to skill

Security audit

ShipEngine

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly coherent for ShipEngine lookups, but its first-time setup tells users to run remote installer scripts directly, which is risky enough to require review.

Review the installer path before installing. Prefer installing the oo CLI from a pinned, verified release or a trusted package manager, and only connect ShipEngine if you are comfortable with OOMOL-mediated access to your ShipEngine account data and possible billing-credit use.

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

Unverified Remote Installer Downloaded and Executed Directly

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 60–64
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 retrieve mutable scripts from cli.oomol.com and immediately execute them through Bash or PowerShell. The downloaded content is not pinned to a specific release and is not authenticated through a detached signature or verified against a documented cryptographic checksum. It is also not saved for inspection before execution.

Consequently, the code executed on a user's system can differ from the content that existed when the Skill was audited. Compromise of the distribution server, its deployment process, or the delivery path could turn these commands into an arbitrary-code execution channel. The conditional instruction to use the installer only when oo is unavailable reduces execution frequency but does not remove the underlying supply-chain risk.

Installing a CLI may be necessary for the declared functionality, but piping a mutable network response directly into a shell exceeds the minimum safe mechanism required to perform that installation.

Attack Path

  1. The oo CLI is absent, causing an oo: command not found failure.
  2. The agent or user follows the documented first-time setup procedure.
  3. An attacker compromises the installer host, its publication pipeline, or another component capable of controlling the delivered script.
  4. The curl or irm command retrieves the attacker-controlled payload.
  5. The shell pipe passes the response directly to Bash or Invoke-Expression, without integrity verification or prior inspection.
  6. The payload executes with the permissions of the account running the comman ...[truncated 669 chars]
Remediation
View remediation

Remediation Suggestions

  1. Replace pipe-to-shell and Invoke-Expression installation commands with installation through a trusted operating-system package manager or a pinned release artifact.
  2. Pin the CLI to a specific version rather than retrieving a mutable installer endpoint.
  3. Download the package or installer to disk without executing it automatically.
  4. Publish an expected SHA-256 or stronger checksum over a trusted channel and require verification before execution.
  5. Prefer signed release artifacts and verify the publisher's signature using a documented, pinned public key.
  6. Present the exact artifact, version, source, and intended changes to the user, and obtain explicit approval before installation.
  7. Run installation with ordinary user privileges unless elevated privileges are demonstrably required; clearly document any required filesystem or system changes.
  8. For automated environments, use an internally reviewed and integrity-pinned copy of the CLI artifact.
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 (3)

External Script Fetching

High
Category
Supply Chain
Confidence
98% confidence
Finding

The skill includes a 'curl ... | bash' installation command that fetches and immediately executes a remote script. If the remote host, distribution path, DNS, TLS trust chain, or script supply chain is compromised, this becomes arbitrary code execution on the user's machine.

Content

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

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The manifest and description frame the skill as being for 'searching and reading data', but the body explicitly discusses actions that may be write-capable and instructs the agent to use this skill for ANY ShipEngine request. That mismatch can cause an orchestrator or user to invoke the skill under a read-only assumption, increasing the risk of unintended state-changing operations in a logistics/account context.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The instruction to use this skill for 'ANY ShipEngine request' is overly broad and may cause automatic routing for any mention of ShipEngine, even when a task is outside the intended safe/read scope. In an agentic environment, broad trigger language increases the chance of unnecessary tool use, accidental data exposure, or execution of actions without appropriate user confirmation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.