Back to skill

Security audit

Fern

Security checks for vulnerabilities and agentic risk

Overview

This Fern skill is mostly a read-only connector, but its setup instructions tell users to run unverified remote installer scripts directly in a shell.

Install only if you are comfortable with OOMOL as an intermediary for Fern access. Avoid running the pipe-to-shell installer commands as written; prefer an official, versioned install method with checksum or signature verification, and review any installer before execution.

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 Download and Immediate Execution## Vulnerability Details **File Location**: `SKILL.md`, lines 61–65 **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 installation instructions download mutable scripts from `cli.oomol.com` and immediately execute the returned content through Bash or PowerShell. The process does not pin an installer version, verify a cryptographic signature or checksum, or provide an opportunity to inspect the downloaded script before execution. Although the URL uses HTTPS and an OOMOL-branded domain, the remote scripts are not included in the audited project. Their effective behavior can therefore change after this Skill has been reviewed. Compromise of the hosting infrastructure, publishing account, DNS or TLS trust path, or installer deployment process could cause arbitrary attacker-controlled commands to be executed. This behavior is not required for the Skill's core read-only Fern functionality. Installing a prerequisite may be necessary when the CLI is absent, but immediate execution of unverified remote content exceeds the minimum privilege and trust necessary to perform that installation safely. ### Attack Path 1. The `oo` CLI is unavailable, causing the documented first-time setup condition to apply. 2. An agent or user follows the installation command in `SKILL.md`. 3. The remote installer source or its delivery infrastructure has been compromised, or the hosted script has otherwise been replaced. 4. `curl` or `Invoke-RestMethod` retrieves the modified payload. 5. The shell pipeline passes the response directly to `bash` or `iex` without integrity validation or inspection. 6. The malicious payload executes with the privileges of the user running the command. ### Im ...[truncated 862 chars]
Remediation
## Remediation Suggestions 1. Remove both pipe-to-shell installation commands. 2. Direct users to a documented official release page or trusted platform package manager. 3. Pin the CLI to a specific reviewed version rather than downloading a mutable latest installer. 4. Publish signed release artifacts and verify their cryptographic signatures before installation. If signatures are unavailable, publish and validate a version-specific SHA-256 checksum over HTTPS through an independently protected release channel. 5. Download the installer to a local file, verify it, and allow inspection before executing it as a separate step. 6. Require explicit user approval before installing software or executing any downloaded installer. 7. Run installation with ordinary user privileges unless elevated privileges are demonstrably required, and document any files, network access, or configuration changes the installer performs. 8. Prefer instructions such as the following general sequence: - Download a version-pinned artifact. - Validate its signature or pinned checksum. - Inspect or display the installer source where practical. - Execute it only after successful verification and explicit 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
97% confidence
Finding
The skill includes a shell one-liner that downloads and immediately executes a remote script via `curl ... | bash`, which is a classic supply-chain and remote code execution risk. If the remote host, transport, installer, or distribution pipeline is compromised, users may run attacker-controlled code on their machine with the skill effectively endorsing that action.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The description says to use this skill for "ANY Fern request" and whenever a task involves Fern. That activation scope is very broad and lacks constraints or exclusion examples, increasing the chance of unintended invocation for ordinary Fern-related mentions.

Static analysis

No suspicious patterns detected.