Back to skill

Security audit

Trello

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent Trello connector, but its setup guidance includes unverified remote installer commands that should be reviewed before use.

Install only if you are comfortable trusting OOMOL's installer endpoint and Trello connector. Before running the first-time setup commands, prefer an official package manager or manually download and verify the installer; confirm all write or destructive Trello actions before allowing them.

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:82
Finding
Unverified Remote Installation Scripts Are Executed Directly## Vulnerability Details **File Location**: `SKILL.md`, lines 82–86 **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 first-time setup instructions download mutable scripts from an external server and immediately execute them using Bash or PowerShell. Neither installation path pins a release, verifies a cryptographic signature or checksum, nor allows inspection before execution. The HTTPS endpoint belongs to the stated CLI vendor, but HTTPS alone does not establish the integrity of the script over its lifetime. Compromise of the hosting infrastructure, release pipeline, domain, or TLS trust chain could change the effective payload after this Skill has been reviewed. Installation is presented as conditional on an `oo: command not found` error, which limits when the behavior occurs. Nevertheless, directly executing arbitrary remote content grants the installation source the full permissions of the user running the Agent. This exceeds the minimum privilege required to document how to install the CLI or operate the Trello connector. ### Attack Path 1. The Agent attempts a documented `oo` command and receives an `oo: command not found` error. 2. Following the fallback instructions, it executes the Bash or PowerShell installation command. 3. The command retrieves the current script from the remote OOMOL endpoint. 4. The shell executes the response without validating its version, checksum, signature, or contents. 5. If the endpoint or its delivery chain has been compromised, attacker-controlled commands execute with the invoking user's privileges. 6. Those commands can access data available to that user, modify local files, steal credentials, install additional payloads, or establish persistence. ### Im ...[truncated 864 chars]
Remediation
## Remediation Suggestions 1. Remove both pipe-to-shell patterns: - Do not pipe `curl` output directly to `bash`. - Do not pass downloaded PowerShell content directly to `Invoke-Expression`. 2. Prefer a trusted package manager or signed release mechanism that supports pinned versions and package-integrity validation. 3. If script-based installation remains necessary: - Pin a specific immutable release URL rather than a mutable generic installer. - Download the installer to a local file without executing it. - Publish an expected SHA-256 digest through a separately protected channel. - Verify the digest before execution. - Cryptographically sign the installer and verify the signature against a documented vendor key. - Permit inspection of the downloaded file before it runs. - Abort installation on any verification failure. 4. Run installation with the least-privileged account possible. Do not request administrative privileges unless a documented installation operation strictly requires them. 5. Keep installation outside the Agent's automatic action path. On a missing CLI error, provide verified manual installation instructions rather than automatically executing remote content. 6. Pin and document the supported CLI version so the reviewed dependency cannot silently change after approval.
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
96% confidence
Finding
The skill instructs the agent to install software via `curl ... | bash`, which executes a remotely fetched script without verification. If the distribution server, network path, or install script is compromised, this can lead to arbitrary code execution on the host running the skill.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The description says to use this skill for "ANY Trello request" and "Whenever a task involves Trello," which is an extremely broad activation condition. This lacks scope boundaries or exclusion examples, increasing the chance of unintended invocation for loosely related Trello mentions.

Static analysis

No suspicious patterns detected.