Back to skill

Security audit

Dixa

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent Dixa read connector, but its fallback setup tells users or agents to execute an unverified remote installer directly.

Review the setup path before installing. Prefer a verified or manually inspected OOMOL CLI installation method, avoid running installer commands as administrator or root, and only use the listed read actions unless a future version clearly declares and scopes write permissions.

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:61
Finding
Unverified Remote Installer Downloaded and Executed Directly## Vulnerability Details **File Location**: `SKILL.md`, lines 61–65 **Vulnerability Type**: Remote mutable payload execution through pipe-to-shell installation commands **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 `cli.oomol.com` and immediately execute the returned content using Bash or PowerShell. The commands do not pin an installer version, verify a cryptographic signature or checksum, or allow the user to inspect the downloaded content before execution. Although HTTPS protects the connection in transit under normal conditions, it does not ensure that the retrieved script is identical to a version reviewed during this audit. The effective executable payload can change at any time after publication of the Skill. Compromise of the remote domain, hosting account, deployment pipeline, DNS resolution, or installer distribution infrastructure could therefore turn these commands into an arbitrary code-execution mechanism. Installing the CLI is only a conditional bootstrap operation and is not required for the Skill's normal Dixa read operations when the CLI is already installed. Automatic execution of an unverified installer consequently exceeds the minimum privileges necessary to query Dixa. ### Attack Path 1. A user requests a Dixa operation and the Skill attempts to invoke the `oo` CLI. 2. The CLI is unavailable, causing the agent or user to follow the first-time setup instructions. 3. An attacker compromises or gains control over the installer hosting or delivery infrastructure. 4. The attacker replaces the legitimate installer response with commands that steal data, alter the host, or install additional software. 5. `curl` or `irm` retrieves the attacker-c ...[truncated 1303 chars]
Remediation
## Remediation Suggestions 1. Remove the direct `curl | bash` and `irm | iex` installation patterns. 2. Prefer a trusted operating-system package manager or an officially signed, version-pinned release. 3. If a standalone installer is necessary: - Pin the download to a specific immutable release. - Download it to a local file without executing it. - Publish and verify a SHA-256 digest or cryptographic signature through an independently protected channel. - Abort installation if verification fails. - Allow the user to inspect the installer before execution. 4. Require explicit user approval before downloading or executing installation software. The Skill should not automatically bootstrap the CLI following a failed Dixa action. 5. Run the installer with the least-privileged account possible and clearly warn users not to execute it as root or an administrator unless a documented installation step strictly requires elevation. 6. Document the OOMOL data-processing boundary and advise callers to request only the minimum Dixa fields and records necessary for the user's task.
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)

Description-Behavior Mismatch

High
Confidence
98% confidence
Finding
The manifest and description frame the skill as limited to searching and reading Dixa data, but the body instructs the agent to inspect and run arbitrary connector actions, including potential write or destructive operations. This mismatch can mislead policy layers, users, or orchestrators into granting or invoking the skill under read-only assumptions while enabling broader state-changing behavior.

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
94% confidence
Finding
The skill includes a `curl ... | bash` installation path that downloads and executes a remote script directly. Even though presented as fallback setup guidance, this is a classic supply-chain risk: a compromised host, MITM, or malicious update could lead to arbitrary code execution on the agent's system.

Vague Triggers

Medium
Confidence
95% confidence
Finding
Telling the agent to use this skill for 'ANY Dixa request' is overly broad and can cause the skill to be invoked in contexts beyond narrow read/search use. In combination with support for arbitrary connector actions, broad routing increases the chance of unintended data access or state-changing operations being funneled through this skill.

Intent-Code Divergence

Medium
Confidence
89% confidence
Finding
The skill says untagged actions are safe reads, yet it also directs the agent to dynamically enumerate schema and run arbitrary connector actions. That creates a trust gap: if connector actions are added, renamed, or incorrectly tagged upstream, the agent may execute operations believed to be safe without adequate review or user confirmation.

Static analysis

No suspicious patterns detected.