Back to skill

Security audit

Otter.ai

Security checks for vulnerabilities and agentic risk

Overview

This Otter.ai connector skill is mostly coherent, but its setup instructions tell users to run unverified remote installer scripts directly in a shell.

Review the installer path before installing. Prefer OOMOL's signed or package-manager installation instructions, avoid piping remote scripts directly into a shell, and only connect accounts whose Otter.ai transcripts, audio links, workspace, channel, and member data you are comfortable routing through OOMOL's connector.

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 Installation Scripts Executed Directly by Shells## 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 download mutable content from external OOMOL endpoints and pass it directly to Bash or PowerShell for execution. The commands provide no version pinning, cryptographic checksum validation, publisher-signature verification, or opportunity to inspect the downloaded scripts before execution. Although HTTPS protects data in transit under normal conditions, it does not establish artifact immutability. A compromise of the hosting service, publisher account, deployment pipeline, DNS or certificate trust chain could replace the installer after this Skill has been reviewed. The changed payload would then execute without further validation. Installing the `oo` CLI may be relevant to the declared connector functionality, but immediate remote-to-shell execution exceeds the minimum privilege and trust required to perform that installation. The Skill could instead direct users to a signed package or a pinned, independently verified artifact. ### Attack Path 1. The `oo` command is unavailable, causing the Agent or user to consult the first-time setup instructions. 2. An attacker compromises or otherwise gains control over the installer response from `cli.oomol.com`. 3. The user runs the documented `curl | bash` or `irm | iex` command. 4. The shell executes the attacker-controlled response immediately, without integrity or authenticity verification at the artifact level. 5. The payload performs arbitrary actions using the permissions of the account that launched the command. ### Impact Assessment Successful exploitation provide ...[truncated 907 chars]
Remediation
## Remediation Suggestions 1. Remove the `curl | bash` and `irm | iex` installation patterns. 2. Prefer an official operating-system package manager that verifies signed packages and supports explicit version selection. 3. If a standalone installer is necessary, download it to a local file rather than piping it into an interpreter. 4. Pin an exact release version and publish a cryptographic checksum through an independently controlled, authenticated channel. 5. Verify the publisher's digital signature and the pinned checksum before execution; fail closed if either check does not pass. 6. Allow the user to inspect the downloaded artifact and require explicit approval before executing it. 7. Run installation with ordinary user privileges wherever possible, requesting elevation only for a narrowly defined operation when strictly necessary. 8. Keep installation outside normal Skill execution and direct users to audited, version-specific installation documentation.
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)

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
97% confidence
Finding
The skill instructs users to execute a remote installation script via 'curl | bash', which fetches and immediately runs code from the network without verification. In adversarial or compromised infrastructure scenarios, this can lead to arbitrary code execution on the user's machine, and skill context makes it worse because it is presented as a routine setup step for enabling the skill.

Description-Behavior Mismatch

Medium
Confidence
97% confidence
Finding
The manifest and description frame the skill as read-only ('searching and reading data'), but the body instructs use of any Otter.ai action and includes guidance for write/destructive operations. This mismatch can cause agents or users to invoke the skill under a lower-risk assumption than warranted, weakening consent and policy controls around state-changing actions.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The trigger phrase instructs use of this skill for 'ANY Otter.ai request' without meaningful scope boundaries. Broad routing language can override safer, more specific handling and encourages use of the skill in contexts beyond its stated read/search purpose, increasing the chance of overreach or unintended data exposure.

Intent-Code Divergence

Low
Confidence
82% confidence
Finding
The 'Available actions' section lists only read-oriented actions, which aligns with the manifest's read/search framing. But the surrounding documentation explicitly discusses '[write]' and '[destructive]' actions and instructs how to run any action via schema lookup, creating a contradiction between the stated action inventory and the broader capabilities the document says exist.

Static analysis

No suspicious patterns detected.